diff --git a/.github/workflows/go_memcoin_test.yml b/.github/workflows/go_dvoting_test.yml similarity index 71% rename from .github/workflows/go_memcoin_test.yml rename to .github/workflows/go_dvoting_test.yml index f22bba545..5deea0ce2 100644 --- a/.github/workflows/go_memcoin_test.yml +++ b/.github/workflows/go_dvoting_test.yml @@ -1,4 +1,4 @@ -name: Memcoin (CLI+HTTP) Test +name: Dvoting (CLI+HTTP) Test on: push: @@ -29,17 +29,17 @@ jobs: - name: Create a private key run: crypto bls signer new --save private.key - - name: Install memcoin + - name: Install dvoting run: make build - name: Start 3 nodes run: | - ./memcoin --config /tmp/node1 start --port 2001 & - ./memcoin --config /tmp/node2 start --port 2002 & - ./memcoin --config /tmp/node3 start --port 2003 & + ./dvoting --config /tmp/node1 start --port 2001 & + ./dvoting --config /tmp/node2 start --port 2002 & + ./dvoting --config /tmp/node3 start --port 2003 & - name: Run the setup run: ./setup.sh - name: Run the scenario test - run: ./memcoin --config /tmp/node1 e-voting scenarioTest \ No newline at end of file + run: ./dvoting --config /tmp/node1 e-voting scenarioTest \ No newline at end of file diff --git a/.github/workflows/go_scenario_test.yml b/.github/workflows/go_scenario_test.yml index dffbe9b22..942b161d1 100644 --- a/.github/workflows/go_scenario_test.yml +++ b/.github/workflows/go_scenario_test.yml @@ -28,7 +28,7 @@ jobs: - name: Create a private key run: crypto bls signer new --save private.key - - name: Install memcoin + - name: Install dvoting run: make build - name: Start and setup 5 nodes diff --git a/.github/workflows/releases.yml b/.github/workflows/releases.yml index f3ac5e2f6..a4b775e5f 100644 --- a/.github/workflows/releases.yml +++ b/.github/workflows/releases.yml @@ -5,8 +5,8 @@ on: types: [published] jobs: - memcoin: - name: release memcoin and .deb + dvoting: + name: release dvoting and .deb runs-on: ubuntu-latest steps: @@ -40,7 +40,7 @@ jobs: uses: softprops/action-gh-release@v1 with: files: | - memcoin-* + dvoting-* deb-package/dist/* backend: diff --git a/.gitignore b/.gitignore index e88ecc0fe..a6b66c431 100644 --- a/.gitignore +++ b/.gitignore @@ -5,7 +5,7 @@ private.key web/app/node_modules .idea -memcoin* +dvoting* *.log diff --git a/Dockerfiles/Dockerfile.dela b/Dockerfiles/Dockerfile.dela index f19b07771..f2fa3349e 100644 --- a/Dockerfiles/Dockerfile.dela +++ b/Dockerfiles/Dockerfile.dela @@ -5,9 +5,9 @@ RUN git clone https://github.com/dedis/dela.git RUN git clone https://github.com/dedis/d-voting.git WORKDIR /go/dela/cli/crypto RUN go install -WORKDIR /go/d-voting/cli/memcoin +WORKDIR /go/d-voting/cli/dvoting RUN go build -ENV PATH=/go/dela/cli/crypto:/go/d-voting/cli/memcoin:${PATH} +ENV PATH=/go/dela/cli/crypto:/go/d-voting/cli/dvoting:${PATH} WORKDIR /go -ENTRYPOINT ["/bin/bash", "-c", "memcoin --config /data/node start --postinstall --proxyaddr :$PROXYPORT --proxykey $PROXYKEY --listen tcp://0.0.0.0:2000 --public http://$HOSTNAME:2000 --routing tree"] +ENTRYPOINT ["/bin/bash", "-c", "dvoting --config /data/node start --postinstall --proxyaddr :$PROXYPORT --proxykey $PROXYKEY --listen tcp://0.0.0.0:2000 --public http://$HOSTNAME:2000 --routing tree"] CMD [] diff --git a/Dockerfiles/Dockerfile.dela.debug b/Dockerfiles/Dockerfile.dela.debug index 6a60ab25d..47cee9b89 100644 --- a/Dockerfiles/Dockerfile.dela.debug +++ b/Dockerfiles/Dockerfile.dela.debug @@ -8,11 +8,11 @@ RUN git clone https://github.com/dedis/dela.git RUN git clone https://github.com/dedis/d-voting.git WORKDIR /go/dela/cli/crypto RUN go install -WORKDIR /go/d-voting/cli/memcoin +WORKDIR /go/d-voting/cli/dvoting RUN go build -gcflags="all=-N -l" -ENV PATH=/go/dela/cli/crypto:/go/d-voting/cli/memcoin:${PATH} +ENV PATH=/go/dela/cli/crypto:/go/d-voting/cli/dvoting:${PATH} WORKDIR /go -ENTRYPOINT ["/bin/bash", "-c", "dlv --listen=:40000 --headless=true --api-version=2 --accept-multiclient exec /go/d-voting/cli/memcoin/memcoin -- --config /data/node start --postinstall --proxyaddr :$PROXYPORT --proxykey $PROXYKEY --listen tcp://0.0.0.0:2000 --public http://$HOSTNAME:2000 --routing tree"] +ENTRYPOINT ["/bin/bash", "-c", "dlv --listen=:40000 --headless=true --api-version=2 --accept-multiclient exec /go/d-voting/cli/dvoting/dvoting -- --config /data/node start --postinstall --proxyaddr :$PROXYPORT --proxykey $PROXYKEY --listen tcp://0.0.0.0:2000 --public http://$HOSTNAME:2000 --routing tree"] CMD [] diff --git a/Makefile b/Makefile index 0837873a9..a774d69a0 100644 --- a/Makefile +++ b/Makefile @@ -24,10 +24,10 @@ test_integration: go test ./integration build: - go build -ldflags="-X $(versionFlag) -X $(timeFlag)" -o memcoin ./cli/memcoin - GOOS=linux GOARCH=amd64 go build -ldflags="-X $(versionFlag) -X $(timeFlag)" -o memcoin-linux-amd64-$(versionFile) ./cli/memcoin - GOOS=darwin GOARCH=amd64 go build -ldflags="-X $(versionFlag) -X $(timeFlag)" -o memcoin-darwin-amd64-$(versionFile) ./cli/memcoin - GOOS=windows GOARCH=amd64 go build -ldflags="-X $(versionFlag) -X $(timeFlag)" -o memcoin-windows-amd64-$(versionFile) ./cli/memcoin + go build -ldflags="-X $(versionFlag) -X $(timeFlag)" -o dvoting ./cli/dvoting + GOOS=linux GOARCH=amd64 go build -ldflags="-X $(versionFlag) -X $(timeFlag)" -o dvoting-linux-amd64-$(versionFile) ./cli/dvoting + GOOS=darwin GOARCH=amd64 go build -ldflags="-X $(versionFlag) -X $(timeFlag)" -o dvoting-darwin-amd64-$(versionFile) ./cli/dvoting + GOOS=windows GOARCH=amd64 go build -ldflags="-X $(versionFlag) -X $(timeFlag)" -o dvoting-windows-amd64-$(versionFile) ./cli/dvoting deb: build cd deb-package; ./build-deb.sh; cd .. \ No newline at end of file diff --git a/README.md b/README.md index 5509b6405..e94a54b3a 100644 --- a/README.md +++ b/README.md @@ -29,8 +29,8 @@ - - + + @@ -277,7 +277,7 @@ results. . ├── cli │ ├── cosipbftcontroller Custom initialization of the blockchain node -│ ├── memcoin Build the node CLI +│ ├── dvoting Build the node CLI │ └── postinstall Custom node CLI setup ├── contracts │ └── evoting D-Voting smart contract @@ -505,13 +505,13 @@ In three different terminal sessions, from the root folder: ```sh pk=adbacd10fdb9822c71025d6d00092b8a4abb5ebcb673d28d863f7c7c5adaddf3 -LLVL=info memcoin --config /tmp/node1 start --postinstall \ +LLVL=info dvoting --config /tmp/node1 start --postinstall \ --promaddr :9100 --proxyaddr :9080 --proxykey $pk --listen tcp://0.0.0.0:2001 --public //localhost:2001 -LLVL=info memcoin --config /tmp/node2 start --postinstall \ +LLVL=info dvoting --config /tmp/node2 start --postinstall \ --promaddr :9101 --proxyaddr :9081 --proxykey $pk --listen tcp://0.0.0.0:2002 --public //localhost:2002 -LLVL=info memcoin --config /tmp/node3 start --postinstall \ +LLVL=info dvoting --config /tmp/node3 start --postinstall \ --promaddr :9102 --proxyaddr :9082 --proxykey $pk --listen tcp://0.0.0.0:2003 --public //localhost:2003 ``` @@ -569,7 +569,7 @@ you can run a test scenario: ```sh sk=28912721dfd507e198b31602fb67824856eb5a674c021d49fdccbe52f0234409 -LLVL=info memcoin --config /tmp/node1 e-voting scenarioTest --secretkey $sk +LLVL=info dvoting --config /tmp/node1 e-voting scenarioTest --secretkey $sk ``` You can also run scenario_test.go, by running in the integration folder this @@ -643,7 +643,7 @@ A d-Voting node exposes Prometheus metrics. You can start an HTTP server that serves those metrics with: ```sh -./memcoin --config /tmp/node1 metrics start --addr 127.0.0.1:9100 --path /metrics +./dvoting --config /tmp/node1 metrics start --addr 127.0.0.1:9100 --path /metrics ``` Build info can be added to the binary with the `ldflags`, at build time. Infos @@ -653,7 +653,7 @@ are stored on variables in the root `mod.go`. For example: versionFlag="github.com/dedis/d-voting.Version=`git describe --tags`" timeFlag="github.com/dedis/d-voting.BuildTime=`date +'%d/%m/%y_%H:%M'`" -go build -ldflags="-X $versionFlag -X $timeFlag" ./cli/memcoin +go build -ldflags="-X $versionFlag -X $timeFlag" ./cli/dvoting ``` Note that `make build` will do that for you. diff --git a/cli/memcoin/mod.go b/cli/dvoting/mod.go similarity index 70% rename from cli/memcoin/mod.go rename to cli/dvoting/mod.go index eec96e93b..79428ad64 100644 --- a/cli/memcoin/mod.go +++ b/cli/dvoting/mod.go @@ -1,28 +1,28 @@ -// Package main implements a ledger based on in-memory components. +// Package main implements the dvoting backend // // Unix example: // -// # Expect GOPATH to be correctly set to have memcoin available. +// # Expect GOPATH to be correctly set to have dvoting available. // go install // -// memcoin --config /tmp/node1 start --port 2001 & -// memcoin --config /tmp/node2 start --port 2002 & -// memcoin --config /tmp/node3 start --port 2003 & +// dvoting --config /tmp/node1 start --port 2001 & +// dvoting --config /tmp/node2 start --port 2002 & +// dvoting --config /tmp/node3 start --port 2003 & // // # Share the different certificates among the participants. -// memcoin --config /tmp/node2 minogrpc join --address 127.0.0.1:2001\ -// $(memcoin --config /tmp/node1 minogrpc token) -// memcoin --config /tmp/node3 minogrpc join --address 127.0.0.1:2001\ -// $(memcoin --config /tmp/node1 minogrpc token) +// dvoting --config /tmp/node2 minogrpc join --address 127.0.0.1:2001\ +// $(dvoting --config /tmp/node1 minogrpc token) +// dvoting --config /tmp/node3 minogrpc join --address 127.0.0.1:2001\ +// $(dvoting --config /tmp/node1 minogrpc token) // // # Create a chain with two members. -// memcoin --config /tmp/node1 ordering setup\ -// --member $(memcoin --config /tmp/node1 ordering export)\ -// --member $(memcoin --config /tmp/node2 ordering export) +// dvoting --config /tmp/node1 ordering setup\ +// --member $(dvoting --config /tmp/node1 ordering export)\ +// --member $(dvoting --config /tmp/node2 ordering export) // // # Add the third after the chain is set up. -// memcoin --config /tmp/node1 ordering roster add\ -// --member $(memcoin --config /tmp/node3 ordering export) +// dvoting --config /tmp/node1 ordering roster add\ +// --member $(dvoting --config /tmp/node3 ordering export) // package main diff --git a/cli/memcoin/mod_test.go b/cli/dvoting/mod_test.go similarity index 96% rename from cli/memcoin/mod_test.go rename to cli/dvoting/mod_test.go index 876bbed15..5c1f8c2bf 100644 --- a/cli/memcoin/mod_test.go +++ b/cli/dvoting/mod_test.go @@ -16,7 +16,7 @@ import ( "github.com/stretchr/testify/require" ) -func TestMemcoin_Main(t *testing.T) { +func TestDvoting_Main(t *testing.T) { main() } @@ -24,8 +24,8 @@ func TestMemcoin_Main(t *testing.T) { // in two blocks. Node 4 does not share its certificate which means others won't // be able to communicate, but the chain should proceed because of the // threshold. -func TestMemcoin_Scenario_SetupAndTransactions(t *testing.T) { - dir, err := os.MkdirTemp(os.TempDir(), "memcoin1") +func TestDvoting_Scenario_SetupAndTransactions(t *testing.T) { + dir, err := os.MkdirTemp(os.TempDir(), "dvoting1") require.NoError(t, err) defer os.RemoveAll(dir) @@ -116,8 +116,8 @@ func TestMemcoin_Scenario_SetupAndTransactions(t *testing.T) { // finally restarts both of them to make sure the chain can proceed after the // restart. It basically tests if the components are correctly loaded from the // persisten storage. -func TestMemcoin_Scenario_RestartNode(t *testing.T) { - dir, err := os.MkdirTemp(os.TempDir(), "memcoin2") +func TestDvoting_Scenario_RestartNode(t *testing.T) { + dir, err := os.MkdirTemp(os.TempDir(), "dvoting2") require.NoError(t, err) defer os.RemoveAll(dir) diff --git a/contracts/evoting/controller/mod.go b/contracts/evoting/controller/mod.go index 56034e9f7..24d37b7a0 100644 --- a/contracts/evoting/controller/mod.go +++ b/contracts/evoting/controller/mod.go @@ -25,7 +25,7 @@ func (m controller) SetCommands(builder node.Builder) { cmd := builder.SetCommand("e-voting") cmd.SetDescription("interact with the evoting service") - // memcoin --config /tmp/node1 e-voting \ + // dvoting --config /tmp/node1 e-voting \ // registerHandlers --signer private.key sub := cmd.SetSubCommand("registerHandlers") sub.SetDescription("register the e-voting handlers on the default proxy") @@ -38,7 +38,7 @@ func (m controller) SetCommands(builder node.Builder) { ) sub.SetAction(builder.MakeAction(&RegisterAction{})) - // memcoin --config /tmp/node1 e-voting scenarioTest + // dvoting --config /tmp/node1 e-voting scenarioTest sub = cmd.SetSubCommand("scenarioTest") sub.SetDescription("evoting scenario test") sub.SetFlags( diff --git a/deb-package/README.md b/deb-package/README.md index 46c19a191..ddcfa9144 100644 --- a/deb-package/README.md +++ b/deb-package/README.md @@ -69,7 +69,7 @@ Check how a node is started in `pkg/opt/dedis/dvoting/bin/start-voting`. For example: ```sh -LLVL=info ./memcoin-darwin-amd64-v0_4_5-alpha \ +LLVL=info ./dvoting-darwin-amd64-v0_4_5-alpha \ --config /tmp/node8 \ start \ --postinstall \ @@ -115,7 +115,7 @@ credentials. Get the token and certificate (24h * 30 = 720): ```sh -sudo memcoin --config /var/opt/dedis/dvoting/data/dela minogrpc token \ +sudo dvoting --config /var/opt/dedis/dvoting/data/dela minogrpc token \ --expiration 720h ``` @@ -133,7 +133,7 @@ that the certificates are stored in the DB, which means that this operation must be re-done in case the DB is reset. ```sh -sudo memcoin --config /var/opt/dedis/dvoting/data/dela minogrpc join \ +sudo dvoting --config /var/opt/dedis/dvoting/data/dela minogrpc join \ --address --token --cert-hash ``` @@ -144,7 +144,7 @@ Example of ``: `'//172.16.253.150:9000'` First get the address of all nodes by running: ```sh -sudo memcoin --config /var/opt/dedis/dvoting/data/dela ordering export +sudo dvoting --config /var/opt/dedis/dvoting/data/dela ordering export ``` This will yield a base64 encoded string `
:`. @@ -156,7 +156,7 @@ From the first node. Include ALL nodes, the first and all other nodes. ```sh -sudo memcoin --config /var/opt/dedis/dvoting/data/dela ordering setup \ +sudo dvoting --config /var/opt/dedis/dvoting/data/dela ordering setup \ --member \ --member <...> ... @@ -168,7 +168,7 @@ To be done on each node. ```sh PK=<> # taken from the "ordering export", the part after ":" -sudo memcoin --config /var/opt/dedis/dvoting/data/dela pool add \ +sudo dvoting --config /var/opt/dedis/dvoting/data/dela pool add \ --key $keypath \ --args go.dedis.ch/dela.ContractArg --args go.dedis.ch/dela.Access \ --args access:grant_id --args 0300000000000000000000000000000000000000000000000000000000000000 \ diff --git a/deb-package/build-deb.sh b/deb-package/build-deb.sh index 5e955aa75..a374e11fa 100755 --- a/deb-package/build-deb.sh +++ b/deb-package/build-deb.sh @@ -12,7 +12,7 @@ mkdir -p $INSTALL_DIR GITVERSION=$(git describe --abbrev=0 --tags || echo '0.0.0') VERSION=${GITVERSION:1} -cp ../memcoin $INSTALL_DIR/ +cp ../dvoting $INSTALL_DIR/ # add config files cp -a pkg/etc deb diff --git a/deb-package/pkg/after-install.sh b/deb-package/pkg/after-install.sh index 2ba29d69c..b0064ed9c 100644 --- a/deb-package/pkg/after-install.sh +++ b/deb-package/pkg/after-install.sh @@ -28,4 +28,4 @@ DVOTING_SERVICE=dvoting.service enable_service ${DVOTING_SERVICE} systemctl start ${DVOTING_SERVICE} -ln -s /opt/dedis/dvoting/bin/memcoin /usr/bin/memcoin \ No newline at end of file +ln -s /opt/dedis/dvoting/bin/dvoting /usr/bin/dvoting \ No newline at end of file diff --git a/deb-package/pkg/before-remove.sh b/deb-package/pkg/before-remove.sh index ed5de7d52..f36643bac 100644 --- a/deb-package/pkg/before-remove.sh +++ b/deb-package/pkg/before-remove.sh @@ -3,4 +3,4 @@ # stop service systemctl stop dvoting.service -rm -f /usr/bin/memcoin +rm -f /usr/bin/dvoting diff --git a/deb-package/pkg/opt/dedis/dvoting/config/config.env b/deb-package/pkg/opt/dedis/dvoting/config/config.env index c121b85ce..9d92f364b 100644 --- a/deb-package/pkg/opt/dedis/dvoting/config/config.env +++ b/deb-package/pkg/opt/dedis/dvoting/config/config.env @@ -3,5 +3,5 @@ # This file should not be updated unless for very specific use cases. # For user configuration see /etc/dedis/dvoting # -export dela_bin="/opt/dedis/dvoting/bin/memcoin" +export dela_bin="/opt/dedis/dvoting/bin/dvoting" export dela_data="/var/opt/dedis/dvoting/data/dela" \ No newline at end of file diff --git a/integration/nodes.go b/integration/nodes.go index 0900beacc..78eef95bf 100644 --- a/integration/nodes.go +++ b/integration/nodes.go @@ -103,7 +103,7 @@ func restartNode(nodeNub int, t *testing.T) { err = cmd.Run() require.NoError(t, err) - cmd = exec.Command("bash", "-c", fmt.Sprintf("docker exec -d node%v memcoin --config /tmp/node%v start --postinstall --promaddr :9100 --proxyaddr :9080 --proxykey adbacd10fdb9822c71025d6d00092b8a4abb5ebcb673d28d863f7c7c5adaddf3 --listen tcp://0.0.0.0:2001 --public //172.18.0.%v:2001", nodeNub, nodeNub, nodeNub+1)) + cmd = exec.Command("bash", "-c", fmt.Sprintf("docker exec -d node%v dvoting --config /tmp/node%v start --postinstall --promaddr :9100 --proxyaddr :9080 --proxykey adbacd10fdb9822c71025d6d00092b8a4abb5ebcb673d28d863f7c7c5adaddf3 --listen tcp://0.0.0.0:2001 --public //172.18.0.%v:2001", nodeNub, nodeNub, nodeNub+1)) err = cmd.Run() require.NoError(t, err) } diff --git a/runSystems.sh b/runSystems.sh index 8ed16958b..932c81d31 100755 --- a/runSystems.sh +++ b/runSystems.sh @@ -126,7 +126,7 @@ if [ "$RUN" == true ]; then crypto bls signer new --save private.key --force if [ "$DOCKER" == false ]; then - go build -o memcoin ./cli/memcoin + go build -o dvoting ./cli/dvoting else # Clean created containers and tmp dir if [[ $(docker ps -a -q --filter ancestor=node) ]]; then @@ -151,7 +151,7 @@ if [ "$RUN" == true ]; then node_name="node$from" if [ "$DOCKER" == false ]; then - tmux send-keys -t $s:$window "PROXY_LOG=info LLVL=info ./memcoin \ + tmux send-keys -t $s:$window "PROXY_LOG=info LLVL=info ./dvoting \ --config /tmp/$node_name \ start \ --postinstall \ @@ -163,7 +163,7 @@ if [ "$RUN" == true ]; then --public //localhost:$((2000 + $from))| tee ./log/$node_name.log" C-m else docker run -d -it --env LLVL=info --name $node_name --network evoting-net -v "$(pwd)"/nodedata:/tmp --publish $((9079 + $from)):9080 node - tmux send-keys -t $s:$window "docker exec $node_name memcoin --config /tmp/$node_name start --postinstall \ + tmux send-keys -t $s:$window "docker exec $node_name dvoting --config /tmp/$node_name start --postinstall \ --promaddr :9100 --proxyaddr :9080 --proxykey $pk --listen tcp://0.0.0.0:2001 --public //$(docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $node_name):2001 | tee ./log/$node_name.log" C-m fi @@ -227,8 +227,8 @@ if [ "$SETUP" == true ]; then to=$N_NODE while [ $from -le $to ]; do node_name="node$from" - ./memcoin --config /tmp/$node_name minogrpc join \ - --address //localhost:2001 $(./memcoin --config /tmp/node1 minogrpc token) + ./dvoting --config /tmp/$node_name minogrpc join \ + --address //localhost:2001 $(./dvoting --config /tmp/node1 minogrpc token) ((from++)) done @@ -241,12 +241,12 @@ if [ "$SETUP" == true ]; then while [ $from -le $to ]; do node_name="node$from" ARRAY+="--member " - ARRAY+="$(./memcoin --config /tmp/$node_name ordering export) " + ARRAY+="$(./dvoting --config /tmp/$node_name ordering export) " ((from++)) done - ./memcoin --config /tmp/node1 ordering setup $ARRAY + ./dvoting --config /tmp/node1 ordering setup $ARRAY echo "${GREEN}[3/4]${NC} setup access rights on each node" @@ -254,7 +254,7 @@ if [ "$SETUP" == true ]; then while [ $from -le $to ]; do node_name="node$from" - ./memcoin --config /tmp/$node_name access add \ + ./dvoting --config /tmp/$node_name access add \ --identity $(crypto bls signer read --path private.key --format BASE64_PUBKEY) ((from++)) @@ -262,7 +262,7 @@ if [ "$SETUP" == true ]; then echo "${GREEN}[4/4]${NC} grant access on the chain" - ./memcoin --config /tmp/node1 pool add --key private.key --args go.dedis.ch/dela.ContractArg --args go.dedis.ch/dela.Access --args access:grant_id --args 0300000000000000000000000000000000000000000000000000000000000000 --args access:grant_contract --args go.dedis.ch/dela.Evoting --args access:grant_command --args all --args access:identity --args $(crypto bls signer read --path private.key --format BASE64_PUBKEY) \ + ./dvoting --config /tmp/node1 pool add --key private.key --args go.dedis.ch/dela.ContractArg --args go.dedis.ch/dela.Access --args access:grant_id --args 0300000000000000000000000000000000000000000000000000000000000000 --args access:grant_contract --args go.dedis.ch/dela.Evoting --args access:grant_command --args all --args access:identity --args $(crypto bls signer read --path private.key --format BASE64_PUBKEY) \ --args access:command --args GRANT from=1 @@ -270,18 +270,18 @@ if [ "$SETUP" == true ]; then while [ $from -le $to ]; do node_name="node$from" - ./memcoin --config /tmp/node1 pool add --key private.key --args go.dedis.ch/dela.ContractArg --args go.dedis.ch/dela.Access --args access:grant_id --args 0300000000000000000000000000000000000000000000000000000000000000 --args access:grant_contract --args go.dedis.ch/dela.Evoting --args access:grant_command --args all --args access:identity --args $(crypto bls signer read --path /tmp/$node_name/private.key --format BASE64_PUBKEY) \ + ./dvoting --config /tmp/node1 pool add --key private.key --args go.dedis.ch/dela.ContractArg --args go.dedis.ch/dela.Access --args access:grant_id --args 0300000000000000000000000000000000000000000000000000000000000000 --args access:grant_contract --args go.dedis.ch/dela.Evoting --args access:grant_command --args all --args access:identity --args $(crypto bls signer read --path /tmp/$node_name/private.key --format BASE64_PUBKEY) \ --args access:command --args GRANT ((from++)) done else echo "${GREEN}[1/4]${NC} connect nodes" - conn_token=$(docker exec node1 memcoin --config /tmp/node1 minogrpc token) + conn_token=$(docker exec node1 dvoting --config /tmp/node1 minogrpc token) vals=($(seq 2 1 $N_NODE)) for i in "${vals[@]}"; do - docker exec node$i memcoin --config /tmp/node$i minogrpc join \ + docker exec node$i dvoting --config /tmp/node$i minogrpc join \ --address //$(docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' node1):2001 $conn_token done @@ -291,31 +291,31 @@ if [ "$SETUP" == true ]; then ARRAY="" for i in "${vals[@]}"; do ARRAY+="--member " - ARRAY+="$(docker exec node$i memcoin --config /tmp/node$i ordering export) " + ARRAY+="$(docker exec node$i dvoting --config /tmp/node$i ordering export) " echo "Node$i addr is:" echo $(docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' node$i) done - docker exec node1 memcoin --config /tmp/node1 ordering setup $ARRAY + docker exec node1 dvoting --config /tmp/node1 ordering setup $ARRAY echo "${GREEN}[3/4]${NC} setup access rights on each node" access_token=$(docker exec node1 crypto bls signer read --path private.key --format BASE64_PUBKEY) for i in "${vals[@]}"; do - docker exec node$i memcoin --config /tmp/node$i access add \ + docker exec node$i dvoting --config /tmp/node$i access add \ --identity $access_token sleep 1 done echo "${GREEN}[4/4]${NC} grant access on the chain" - docker exec node1 memcoin --config /tmp/node1 pool add --key private.key --args go.dedis.ch/dela.ContractArg --args go.dedis.ch/dela.Access --args access:grant_id --args 0300000000000000000000000000000000000000000000000000000000000000 --args access:grant_contract --args go.dedis.ch/dela.Evoting --args access:grant_command --args all --args access:identity --args $access_token --args access:command --args GRANT + docker exec node1 dvoting --config /tmp/node1 pool add --key private.key --args go.dedis.ch/dela.ContractArg --args go.dedis.ch/dela.Access --args access:grant_id --args 0300000000000000000000000000000000000000000000000000000000000000 --args access:grant_contract --args go.dedis.ch/dela.Evoting --args access:grant_command --args all --args access:identity --args $access_token --args access:command --args GRANT sleep 1 for i in "${vals[@]}"; do access_token_tmp=$(docker exec node$i crypto bls signer read --path /tmp/node$i/private.key --format BASE64_PUBKEY) - docker exec node1 memcoin --config /tmp/node1 pool add --key private.key --args go.dedis.ch/dela.ContractArg --args go.dedis.ch/dela.Access --args access:grant_id --args 0300000000000000000000000000000000000000000000000000000000000000 --args access:grant_contract --args go.dedis.ch/dela.Evoting --args access:grant_command --args all --args access:identity --args $access_token_tmp --args access:command --args GRANT + docker exec node1 dvoting --config /tmp/node1 pool add --key private.key --args go.dedis.ch/dela.ContractArg --args go.dedis.ch/dela.Access --args access:grant_id --args 0300000000000000000000000000000000000000000000000000000000000000 --args access:grant_contract --args go.dedis.ch/dela.Evoting --args access:grant_command --args all --args access:identity --args $access_token_tmp --args access:command --args GRANT sleep 1 done fi diff --git a/scripts/init_dela.sh b/scripts/init_dela.sh index a40d93b02..ca1d41eca 100755 --- a/scripts/init_dela.sh +++ b/scripts/init_dela.sh @@ -5,29 +5,29 @@ MEMBERS=""; # share the certificate for container in dela-worker-1 dela-worker-2 dela-worker-3 dela-worker-4; do - TOKEN_ARGS=$(docker compose exec dela-worker-0 /bin/bash -c 'LLVL=error memcoin --config /data/node minogrpc token'); - docker compose exec "$container" memcoin --config /data/node minogrpc join --address //dela-worker-0:2000 $TOKEN_ARGS; + TOKEN_ARGS=$(docker compose exec dela-worker-0 /bin/bash -c 'LLVL=error dvoting --config /data/node minogrpc token'); + docker compose exec "$container" dvoting --config /data/node minogrpc join --address //dela-worker-0:2000 $TOKEN_ARGS; done # create a new chain with the nodes for container in dela-worker-0 dela-worker-1 dela-worker-2 dela-worker-3 dela-worker-4; do # add node to the chain - MEMBERS="$MEMBERS --member $(docker compose exec $container /bin/bash -c 'LLVL=error memcoin --config /data/node ordering export')"; + MEMBERS="$MEMBERS --member $(docker compose exec $container /bin/bash -c 'LLVL=error dvoting --config /data/node ordering export')"; done -docker compose exec dela-worker-0 memcoin --config /data/node ordering setup $MEMBERS; +docker compose exec dela-worker-0 dvoting --config /data/node ordering setup $MEMBERS; # authorize the signer to handle the access contract on each node for signer in dela-worker-0 dela-worker-1 dela-worker-2 dela-worker-3 dela-worker-4; do IDENTITY=$(docker compose exec "$signer" crypto bls signer read --path /data/node/private.key --format BASE64_PUBKEY); for node in dela-worker-0 dela-worker-1 dela-worker-2 dela-worker-3 dela-worker-4; do - docker compose exec "$node" memcoin --config /data/node access add --identity "$IDENTITY"; + docker compose exec "$node" dvoting --config /data/node access add --identity "$IDENTITY"; done done # update the access contract for container in dela-worker-0 dela-worker-1 dela-worker-2 dela-worker-3 dela-worker-4; do IDENTITY=$(docker compose exec "$container" crypto bls signer read --path /data/node/private.key --format BASE64_PUBKEY); - docker compose exec dela-worker-0 memcoin --config /data/node pool add\ + docker compose exec dela-worker-0 dvoting --config /data/node pool add\ --key /data/node/private.key\ --args go.dedis.ch/dela.ContractArg\ --args go.dedis.ch/dela.Access\ diff --git a/services/dkg/pedersen/controller/mod.go b/services/dkg/pedersen/controller/mod.go index 13157128a..c3af89971 100644 --- a/services/dkg/pedersen/controller/mod.go +++ b/services/dkg/pedersen/controller/mod.go @@ -56,13 +56,13 @@ func (m controller) SetCommands(builder node.Builder) { cmd := builder.SetCommand("dkg") cmd.SetDescription("interact with the DKG service") - // memcoin --config /tmp/node1 dkg init --formID formID + // dvoting --config /tmp/node1 dkg init --formID formID sub := cmd.SetSubCommand("init") sub.SetDescription("initialize the DKG protocol for a given form") sub.SetFlags(formIDFlag) sub.SetAction(builder.MakeAction(&initAction{})) - // memcoin --config /tmp/node1 dkg setup --formID formID + // dvoting --config /tmp/node1 dkg setup --formID formID sub = cmd.SetSubCommand("setup") sub.SetDescription("create the public distributed key and the private share on each node") sub.SetFlags(formIDFlag) diff --git a/services/dkg/pedersen/controller/mod_test.go b/services/dkg/pedersen/controller/mod_test.go index adc148f72..5f20e4873 100644 --- a/services/dkg/pedersen/controller/mod_test.go +++ b/services/dkg/pedersen/controller/mod_test.go @@ -83,7 +83,7 @@ func TestMinimal_OnStart(t *testing.T) { err = c.OnStart(nil, ctx.Injector) require.EqualError(t, err, "no flags") - dir, err := os.MkdirTemp(os.TempDir(), "memcoin1") + dir, err := os.MkdirTemp(os.TempDir(), "dvoting1") require.NoError(t, err) flags.strings["config"] = dir diff --git a/setup.sh b/setup.sh index 4ffd90fc9..71a29cc61 100755 --- a/setup.sh +++ b/setup.sh @@ -3,8 +3,8 @@ # This script is creating a new chain and setting up the services needed to run # an evoting system. It ends by starting the http server needed by the frontend # to communicate with the blockchain. This operation is blocking. It is expected -# that the "memcoin" binary is at the root. You can build it with: -# go build ./cli/memcoin +# that the "dvoting" binary is at the root. You can build it with: +# go build ./cli/dvoting set -e @@ -12,27 +12,27 @@ GREEN='\033[0;32m' NC='\033[0m' # No Color echo "${GREEN}[1/7]${NC} connect nodes" -./memcoin --config /tmp/node2 minogrpc join \ - --address //localhost:2001 $(./memcoin --config /tmp/node1 minogrpc token) -./memcoin --config /tmp/node3 minogrpc join \ - --address //localhost:2001 $(./memcoin --config /tmp/node1 minogrpc token) +./dvoting --config /tmp/node2 minogrpc join \ + --address //localhost:2001 $(./dvoting --config /tmp/node1 minogrpc token) +./dvoting --config /tmp/node3 minogrpc join \ + --address //localhost:2001 $(./dvoting --config /tmp/node1 minogrpc token) echo "${GREEN}[2/7]${NC} create a chain" -./memcoin --config /tmp/node1 ordering setup\ - --member $(./memcoin --config /tmp/node1 ordering export)\ - --member $(./memcoin --config /tmp/node2 ordering export)\ - --member $(./memcoin --config /tmp/node3 ordering export) +./dvoting --config /tmp/node1 ordering setup\ + --member $(./dvoting --config /tmp/node1 ordering export)\ + --member $(./dvoting --config /tmp/node2 ordering export)\ + --member $(./dvoting --config /tmp/node3 ordering export) echo "${GREEN}[3/7]${NC} setup access rights on each node" -./memcoin --config /tmp/node1 access add \ +./dvoting --config /tmp/node1 access add \ --identity $(crypto bls signer read --path private.key --format BASE64_PUBKEY) -./memcoin --config /tmp/node2 access add \ +./dvoting --config /tmp/node2 access add \ --identity $(crypto bls signer read --path private.key --format BASE64_PUBKEY) -./memcoin --config /tmp/node3 access add \ +./dvoting --config /tmp/node3 access add \ --identity $(crypto bls signer read --path private.key --format BASE64_PUBKEY) echo "${GREEN}[4/7]${NC} grant access on the chain" -./memcoin --config /tmp/node1 pool add\ +./dvoting --config /tmp/node1 pool add\ --key private.key\ --args go.dedis.ch/dela.ContractArg --args go.dedis.ch/dela.Access\ --args access:grant_id --args 0300000000000000000000000000000000000000000000000000000000000000\ @@ -41,7 +41,7 @@ echo "${GREEN}[4/7]${NC} grant access on the chain" --args access:identity --args $(crypto bls signer read --path private.key --format BASE64_PUBKEY)\ --args access:command --args GRANT -./memcoin --config /tmp/node1 pool add\ +./dvoting --config /tmp/node1 pool add\ --key private.key\ --args go.dedis.ch/dela.ContractArg --args go.dedis.ch/dela.Access\ --args access:grant_id --args 0300000000000000000000000000000000000000000000000000000000000000\ @@ -50,7 +50,7 @@ echo "${GREEN}[4/7]${NC} grant access on the chain" --args access:identity --args $(crypto bls signer read --path /tmp/node1/private.key --format BASE64_PUBKEY)\ --args access:command --args GRANT -./memcoin --config /tmp/node1 pool add\ +./dvoting --config /tmp/node1 pool add\ --key private.key\ --args go.dedis.ch/dela.ContractArg --args go.dedis.ch/dela.Access\ --args access:grant_id --args 0300000000000000000000000000000000000000000000000000000000000000\ @@ -59,7 +59,7 @@ echo "${GREEN}[4/7]${NC} grant access on the chain" --args access:identity --args $(crypto bls signer read --path /tmp/node2/private.key --format BASE64_PUBKEY)\ --args access:command --args GRANT -./memcoin --config /tmp/node1 pool add\ +./dvoting --config /tmp/node1 pool add\ --key private.key\ --args go.dedis.ch/dela.ContractArg --args go.dedis.ch/dela.Access\ --args access:grant_id --args 0300000000000000000000000000000000000000000000000000000000000000\ @@ -72,26 +72,26 @@ echo "${GREEN}[4/7]${NC} grant access on the chain" # See #65. # echo "${GREEN}[5/7]${NC} init shuffle" -# ./memcoin --config /tmp/node1 shuffle init --signer /tmp/node1/private.key -# ./memcoin --config /tmp/node2 shuffle init --signer /tmp/node2/private.key -# ./memcoin --config /tmp/node3 shuffle init --signer /tmp/node3/private.key +# ./dvoting --config /tmp/node1 shuffle init --signer /tmp/node1/private.key +# ./dvoting --config /tmp/node2 shuffle init --signer /tmp/node2/private.key +# ./dvoting --config /tmp/node3 shuffle init --signer /tmp/node3/private.key # echo "${GREEN}[6/7]${NC} starting http proxy" -# ./memcoin --config /tmp/node1 proxy start --clientaddr 127.0.0.1:8081 -# ./memcoin --config /tmp/node1 e-voting registerHandlers --signer private.key -# ./memcoin --config /tmp/node1 dkg registerHandlers +# ./dvoting --config /tmp/node1 proxy start --clientaddr 127.0.0.1:8081 +# ./dvoting --config /tmp/node1 e-voting registerHandlers --signer private.key +# ./dvoting --config /tmp/node1 dkg registerHandlers -# ./memcoin --config /tmp/node2 proxy start --clientaddr 127.0.0.1:8082 -# ./memcoin --config /tmp/node2 e-voting registerHandlers --signer private.key -# ./memcoin --config /tmp/node2 dkg registerHandlers +# ./dvoting --config /tmp/node2 proxy start --clientaddr 127.0.0.1:8082 +# ./dvoting --config /tmp/node2 e-voting registerHandlers --signer private.key +# ./dvoting --config /tmp/node2 dkg registerHandlers -# ./memcoin --config /tmp/node3 proxy start --clientaddr 127.0.0.1:8083 -# ./memcoin --config /tmp/node3 e-voting registerHandlers --signer private.key -# ./memcoin --config /tmp/node3 dkg registerHandlers +# ./dvoting --config /tmp/node3 proxy start --clientaddr 127.0.0.1:8083 +# ./dvoting --config /tmp/node3 e-voting registerHandlers --signer private.key +# ./dvoting --config /tmp/node3 dkg registerHandlers # If a form is created with ID "deadbeef" then one must set up DKG # on each node before the form can proceed: -# ./memcoin --config /tmp/node1 dkg init --formID deadbeef -# ./memcoin --config /tmp/node2 dkg init --formID deadbeef -# ./memcoin --config /tmp/node3 dkg init --formID deadbeef -# ./memcoin --config /tmp/node1 dkg setup --formID deadbeef +# ./dvoting --config /tmp/node1 dkg init --formID deadbeef +# ./dvoting --config /tmp/node2 dkg init --formID deadbeef +# ./dvoting --config /tmp/node3 dkg init --formID deadbeef +# ./dvoting --config /tmp/node1 dkg setup --formID deadbeef diff --git a/start_test.sh b/start_test.sh index e0fdfe318..58e0da7a7 100755 --- a/start_test.sh +++ b/start_test.sh @@ -28,8 +28,8 @@ node3="tmux send-keys -t $s:0.%3" pk=adbacd10fdb9822c71025d6d00092b8a4abb5ebcb673d28d863f7c7c5adaddf3 -$node1 "LLVL=info ./memcoin --config /tmp/node1 start --postinstall --promaddr :9100 --proxyaddr :9080 --proxykey $pk --listen tcp://0.0.0.0:2001 --public //localhost:2001" C-m -$node2 "LLVL=info ./memcoin --config /tmp/node2 start --postinstall --promaddr :9101 --proxyaddr :9081 --proxykey $pk --listen tcp://0.0.0.0:2002 --public //localhost:2002" C-m -$node3 "LLVL=info ./memcoin --config /tmp/node3 start --postinstall --promaddr :9102 --proxyaddr :9082 --proxykey $pk --listen tcp://0.0.0.0:2003 --public //localhost:2003" C-m +$node1 "LLVL=info ./dvoting --config /tmp/node1 start --postinstall --promaddr :9100 --proxyaddr :9080 --proxykey $pk --listen tcp://0.0.0.0:2001 --public //localhost:2001" C-m +$node2 "LLVL=info ./dvoting --config /tmp/node2 start --postinstall --promaddr :9101 --proxyaddr :9081 --proxykey $pk --listen tcp://0.0.0.0:2002 --public //localhost:2002" C-m +$node3 "LLVL=info ./dvoting --config /tmp/node3 start --postinstall --promaddr :9102 --proxyaddr :9082 --proxykey $pk --listen tcp://0.0.0.0:2003 --public //localhost:2003" C-m tmux a