Skip to content
This repository has been archived by the owner on Oct 17, 2022. It is now read-only.

Commit

Permalink
[crypto] network changes
Browse files Browse the repository at this point in the history
  • Loading branch information
punwai committed Sep 9, 2022
1 parent 127e21f commit f990566
Show file tree
Hide file tree
Showing 62 changed files with 505 additions and 243 deletions.
1 change: 1 addition & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 8 additions & 8 deletions Docker/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ services:
build:
context: ../
dockerfile: ./Docker/Dockerfile
image: narwhal-node:latest
image: mysten/narwhal:284819a854c777973d6bd1fdb490463266ac2fab
environment:
- NODE_TYPE=primary
- VALIDATOR_ID=0
Expand All @@ -27,7 +27,7 @@ services:
dockerfile: ./Docker/Dockerfile
depends_on:
- primary_0
image: narwhal-node:latest
image: mysten/narwhal:284819a854c777973d6bd1fdb490463266ac2fab
environment:
- NODE_TYPE=worker
- VALIDATOR_ID=0
Expand All @@ -47,7 +47,7 @@ services:
build:
context: ../
dockerfile: ./Docker/Dockerfile
image: narwhal-node:latest
image: mysten/narwhal:284819a854c777973d6bd1fdb490463266ac2fab
environment:
- NODE_TYPE=primary
- VALIDATOR_ID=1
Expand All @@ -68,7 +68,7 @@ services:
dockerfile: ./Docker/Dockerfile
depends_on:
- primary_1
image: narwhal-node:latest
image: mysten/narwhal:284819a854c777973d6bd1fdb490463266ac2fab
environment:
- NODE_TYPE=worker
- VALIDATOR_ID=1
Expand All @@ -88,7 +88,7 @@ services:
build:
context: ../
dockerfile: ./Docker/Dockerfile
image: narwhal-node:latest
image: mysten/narwhal:284819a854c777973d6bd1fdb490463266ac2fab
environment:
- NODE_TYPE=primary
- VALIDATOR_ID=2
Expand All @@ -109,7 +109,7 @@ services:
dockerfile: ./Docker/Dockerfile
depends_on:
- primary_2
image: narwhal-node:latest
image: mysten/narwhal:284819a854c777973d6bd1fdb490463266ac2fab
environment:
- NODE_TYPE=worker
- VALIDATOR_ID=2
Expand All @@ -129,7 +129,7 @@ services:
build:
context: ../
dockerfile: ./Docker/Dockerfile
image: narwhal-node:latest
image: mysten/narwhal:284819a854c777973d6bd1fdb490463266ac2fab
environment:
- NODE_TYPE=primary
- VALIDATOR_ID=3
Expand All @@ -150,7 +150,7 @@ services:
dockerfile: ./Docker/Dockerfile
depends_on:
- primary_3
image: narwhal-node:latest
image: mysten/narwhal:284819a854c777973d6bd1fdb490463266ac2fab
environment:
- NODE_TYPE=worker
- VALIDATOR_ID=3
Expand Down
3 changes: 3 additions & 0 deletions Docker/entry.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ fi
# Environment variables to use on the script
NODE_BIN="./bin/node"
PRIMARY_KEYS_PATH=${KEYS_PATH:="/validators/validator-$VALIDATOR_ID/primary-key.json"}
PRIMARY_NETWORK_KEYS_PATH=${KEYS_PATH:="/validators/validator-$VALIDATOR_ID/network-key.json"}
WORKER_KEYS_PATH=${KEYS_PATH:="/validators/validator-$VALIDATOR_ID/worker-key.json"}
COMMITTEE_PATH=${COMMITTEE_PATH:="/validators/committee.json"}
WORKERS_PATH=${WORKERS_PATH:="/validators/workers.json"}
Expand All @@ -38,6 +39,7 @@ if [[ "$NODE_TYPE" = "primary" ]]; then

$NODE_BIN $LOG_LEVEL run \
--primary-keys $PRIMARY_KEYS_PATH \
--primary-network-keys $PRIMARY_NETWORK_KEYS_PATH \
--worker-keys $WORKER_KEYS_PATH \
--committee $COMMITTEE_PATH \
--workers $WORKERS_PATH \
Expand All @@ -49,6 +51,7 @@ elif [[ "$NODE_TYPE" = "worker" ]]; then

$NODE_BIN $LOG_LEVEL run \
--primary-keys $PRIMARY_KEYS_PATH \
--primary-network-keys $PRIMARY_NETWORK_KEYS_PATH \
--worker-keys $WORKER_KEYS_PATH \
--committee $COMMITTEE_PATH \
--workers $WORKERS_PATH \
Expand Down
1 change: 1 addition & 0 deletions Docker/gen.validators.sh
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,7 @@ do
val=${target}/validator-${i}
mkdir -p ${val}/{db-primary,db-worker-0,logs}
${node} generate_keys --filename ${val}/key.json
${node} generate_network_keys --filename ${val}/network-key.json
done

cp validators/parameters.json ${target}/parameters.json
Expand Down
9 changes: 8 additions & 1 deletion Docker/scripts/gen.committee.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,16 @@ def main():
k = open("{}/validator-{:02d}/key.json".format(args.d, i)).read()
keys.append(json.loads(k))

network_keys = []
for i in range(args.n):
k = open("{}/validator-{:02d}/network-key.json".format(args.d, i)).read()
network_keys.append(json.loads(k))


temp = {}
for i, k in enumerate(keys):
for i, (k, nk) in enumerate(zip(keys, network_keys)):
temp[k['name']] = {
"network_key": nk['name'],
"primary": {
"primary_to_primary": "/dns/primary_{:02d}/tcp/3000/http".format(i),
"worker_to_primary": "/dns/primary_{:02d}/tcp/3001/http".format(i)
Expand Down
12 changes: 8 additions & 4 deletions Docker/validators/committee.json
Original file line number Diff line number Diff line change
@@ -1,27 +1,31 @@
{
"authorities": {
"Zy82aSpF8QghKE4wWvyIoTWyLetCuUSfk2gxHEtwdbg=": {
"i9TwX9Z/CiFznIoO14nIUdJ9Wpo0o50o7tSGtmdhuB5hTK1h5WNvsmUOhc3pdgFaFfKhe1O1NNlTb+sraT0I+ZtOsJUrO5e5figU7XPj5tzRkTlJUoBPtjb1f3RbbXHj": {
"network_key": "TVvqbV9LvRfPslOSMFUNxm0w0PfH9ytSVkZuqKN0DtU=",
"primary": {
"primary_to_primary": "/dns/primary_0/tcp/3000/http",
"worker_to_primary": "/dns/primary_0/tcp/3001/http"
},
"stake": 1
},
"fbhvgLnet2HdE0NUITUpekQxdRRWKxbZczM6Qg55sP8=": {
"lEExVRsXRE2O5+Yhaunn0+yckZz249/OERxaTrCQZUIz7E4gmyGQWmKFEpBA2p8VCcAHvveCvupstx7Qp8/w1gpqo2kFRXqagO/IRDOfJiItmtVxzHWxlnSP/2XKSkZf": {
"network_key": "5EpwzXiTL8B2OuazfuHC9S9Hp0uRZFYElYj25ilVljM=",
"primary": {
"primary_to_primary": "/dns/primary_1/tcp/3000/http",
"worker_to_primary": "/dns/primary_1/tcp/3001/http"
},
"stake": 1
},
"noDjBFfXGqQioHTf6jEIPYthhUWCMsC12ZJ9DMh7Ujk=": {
"pF/T4zMSkvDcHkCuk4Q8jsjcS+vZb/yAj2d8/R7CLH10dP3UxQKjwIeTklXJk/nLDfUg3MN86jMPSO/+2JTqO46oE86XssCKK+SeQCjft+gL0EzdvNlBs5iEt1YGlsoK": {
"network_key": "Rd6StTmpiACXs/wN/pv5DtG9h+OImvplxD/xTU2sV0I=",
"primary": {
"primary_to_primary": "/dns/primary_2/tcp/3000/http",
"worker_to_primary": "/dns/primary_2/tcp/3001/http"
},
"stake": 1
},
"Z+K3OEI/eldyTTdp27mQFDdBPqjkss9wOkN6RceDTuM=": {
"ofwVakr2b+MoerCcQp+skTHfVVPOit575513sx443Cw7ESN6QxPcC6aWnhMUd/EwAI2mVImC4pKaE9G88vzA7B40X7SegLe1lFIJWE8Jyvds1yxWcnmESFF+L8ZLGI9i": {
"network_key": "6BHCB8duL285+IiyvcbLnozof/jElGmjYef5wHN9MXk=",
"primary": {
"primary_to_primary": "/dns/primary_3/tcp/3000/http",
"worker_to_primary": "/dns/primary_3/tcp/3001/http"
Expand Down
5 changes: 5 additions & 0 deletions Docker/validators/validator-0/key.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"type": "BLS12381KeyPair",
"name": "i9TwX9Z/CiFznIoO14nIUdJ9Wpo0o50o7tSGtmdhuB5hTK1h5WNvsmUOhc3pdgFaFfKhe1O1NNlTb+sraT0I+ZtOsJUrO5e5figU7XPj5tzRkTlJUoBPtjb1f3RbbXHj",
"secret": "VbmSNN5iStVTnN/Pq/P5EwjfeLhrrY5dILFR8A6l1xI="
}
5 changes: 5 additions & 0 deletions Docker/validators/validator-0/network-key.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"type": "Ed25519KeyPair",
"name": "TVvqbV9LvRfPslOSMFUNxm0w0PfH9ytSVkZuqKN0DtU=",
"secret": "2kRrHl/taJiAd+xzt0yykxexiqh0wOJ0NhpUYyZG280="
}
5 changes: 0 additions & 5 deletions Docker/validators/validator-0/primary-key.json

This file was deleted.

6 changes: 3 additions & 3 deletions Docker/validators/validator-0/worker-key.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"type": "Ed25519KeyPair",
"name": "hgeabM6XVJdIJQJjas05IiZAm2VFhtxwqIz0gDMYyjw=",
"secret": "odAwN+GmVs9BMtBDiWDGT5fcpMmMzzUMtE/szmVpEVk="
"type": "BLS12381KeyPair",
"name": "i9TwX9Z/CiFznIoO14nIUdJ9Wpo0o50o7tSGtmdhuB5hTK1h5WNvsmUOhc3pdgFaFfKhe1O1NNlTb+sraT0I+ZtOsJUrO5e5figU7XPj5tzRkTlJUoBPtjb1f3RbbXHj",
"secret": "VbmSNN5iStVTnN/Pq/P5EwjfeLhrrY5dILFR8A6l1xI="
}
5 changes: 5 additions & 0 deletions Docker/validators/validator-1/key.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"type": "BLS12381KeyPair",
"name": "lEExVRsXRE2O5+Yhaunn0+yckZz249/OERxaTrCQZUIz7E4gmyGQWmKFEpBA2p8VCcAHvveCvupstx7Qp8/w1gpqo2kFRXqagO/IRDOfJiItmtVxzHWxlnSP/2XKSkZf",
"secret": "brYlYkS7Kl9Ew3xC7hl5Rv2hJU7xx1pTgvkThiNBIkU="
}
5 changes: 5 additions & 0 deletions Docker/validators/validator-1/network-key.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"type": "Ed25519KeyPair",
"name": "5EpwzXiTL8B2OuazfuHC9S9Hp0uRZFYElYj25ilVljM=",
"secret": "yP3ZZjwX0njXV5l4vgbXzErOizcVskF4xzrJZwfJRUQ="
}
5 changes: 0 additions & 5 deletions Docker/validators/validator-1/primary-key.json

This file was deleted.

6 changes: 3 additions & 3 deletions Docker/validators/validator-1/worker-key.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"type": "Ed25519KeyPair",
"name": "7o+0AxuS4muiCYxLOMT9pzdLug2LmrAzB7yLE7TrxwA=",
"secret": "a5IKgyaSAVRPtmzhvjGobSe5/gbFUi/2sF78DlLI/EE="
"type": "BLS12381KeyPair",
"name": "lEExVRsXRE2O5+Yhaunn0+yckZz249/OERxaTrCQZUIz7E4gmyGQWmKFEpBA2p8VCcAHvveCvupstx7Qp8/w1gpqo2kFRXqagO/IRDOfJiItmtVxzHWxlnSP/2XKSkZf",
"secret": "brYlYkS7Kl9Ew3xC7hl5Rv2hJU7xx1pTgvkThiNBIkU="
}
5 changes: 5 additions & 0 deletions Docker/validators/validator-2/key.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"type": "BLS12381KeyPair",
"name": "pF/T4zMSkvDcHkCuk4Q8jsjcS+vZb/yAj2d8/R7CLH10dP3UxQKjwIeTklXJk/nLDfUg3MN86jMPSO/+2JTqO46oE86XssCKK+SeQCjft+gL0EzdvNlBs5iEt1YGlsoK",
"secret": "auDsbkQnuR4BzY076jZ8UQrUWk8Wk53+8FQ5yMNYqb4="
}
5 changes: 5 additions & 0 deletions Docker/validators/validator-2/network-key.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"type": "Ed25519KeyPair",
"name": "Rd6StTmpiACXs/wN/pv5DtG9h+OImvplxD/xTU2sV0I=",
"secret": "KPigXDOul6tXan2pmfIk0J4wEYee+TQBB/siF6P5nTI="
}
5 changes: 0 additions & 5 deletions Docker/validators/validator-2/primary-key.json

This file was deleted.

6 changes: 3 additions & 3 deletions Docker/validators/validator-2/worker-key.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"type": "Ed25519KeyPair",
"name": "63HCaWWXpqB8fhrGgBSNy7XfbSpakrILoXA5DaaYx1o=",
"secret": "M6HIPZPJQbjLAY9BVCjKsGTWooW6a+HKgtmuFGDaJTo="
"type": "BLS12381KeyPair",
"name": "pF/T4zMSkvDcHkCuk4Q8jsjcS+vZb/yAj2d8/R7CLH10dP3UxQKjwIeTklXJk/nLDfUg3MN86jMPSO/+2JTqO46oE86XssCKK+SeQCjft+gL0EzdvNlBs5iEt1YGlsoK",
"secret": "auDsbkQnuR4BzY076jZ8UQrUWk8Wk53+8FQ5yMNYqb4="
}
5 changes: 5 additions & 0 deletions Docker/validators/validator-3/key.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"type": "BLS12381KeyPair",
"name": "ofwVakr2b+MoerCcQp+skTHfVVPOit575513sx443Cw7ESN6QxPcC6aWnhMUd/EwAI2mVImC4pKaE9G88vzA7B40X7SegLe1lFIJWE8Jyvds1yxWcnmESFF+L8ZLGI9i",
"secret": "celbRnC5R3Ok8GHSvzFFlWt0TwBXFM2E27kha+/kCC4="
}
5 changes: 5 additions & 0 deletions Docker/validators/validator-3/network-key.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"type": "Ed25519KeyPair",
"name": "6BHCB8duL285+IiyvcbLnozof/jElGmjYef5wHN9MXk=",
"secret": "ifdVHBnI9J6bMbcbLZwzRb4T1fIzkGc2+LWitrGTwAM="
}
5 changes: 0 additions & 5 deletions Docker/validators/validator-3/primary-key.json

This file was deleted.

6 changes: 3 additions & 3 deletions Docker/validators/validator-3/worker-key.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"type": "Ed25519KeyPair",
"name": "cJbSCbB7f3l/Tmeix4Ts3Th8xS3TTh4ohnakHKhObmc=",
"secret": "X/l+9RaoDB7N8Efn1kQ02T6nvW9kQ1aP5SktR/4GZT4="
"type": "BLS12381KeyPair",
"name": "ofwVakr2b+MoerCcQp+skTHfVVPOit575513sx443Cw7ESN6QxPcC6aWnhMUd/EwAI2mVImC4pKaE9G88vzA7B40X7SegLe1lFIJWE8Jyvds1yxWcnmESFF+L8ZLGI9i",
"secret": "celbRnC5R3Ok8GHSvzFFlWt0TwBXFM2E27kha+/kCC4="
}
12 changes: 4 additions & 8 deletions Docker/validators/workers.json
Original file line number Diff line number Diff line change
@@ -1,32 +1,28 @@
{
"workers": {
"Zy82aSpF8QghKE4wWvyIoTWyLetCuUSfk2gxHEtwdbg=": {
"i9TwX9Z/CiFznIoO14nIUdJ9Wpo0o50o7tSGtmdhuB5hTK1h5WNvsmUOhc3pdgFaFfKhe1O1NNlTb+sraT0I+ZtOsJUrO5e5figU7XPj5tzRkTlJUoBPtjb1f3RbbXHj": {
"0": {
"name": "hgeabM6XVJdIJQJjas05IiZAm2VFhtxwqIz0gDMYyjw=",
"primary_to_worker": "/dns/worker_0/tcp/4000/http",
"transactions": "/dns/worker_0/tcp/4001/http",
"worker_to_worker": "/dns/worker_0/tcp/4002/http"
}
},
"fbhvgLnet2HdE0NUITUpekQxdRRWKxbZczM6Qg55sP8=": {
"lEExVRsXRE2O5+Yhaunn0+yckZz249/OERxaTrCQZUIz7E4gmyGQWmKFEpBA2p8VCcAHvveCvupstx7Qp8/w1gpqo2kFRXqagO/IRDOfJiItmtVxzHWxlnSP/2XKSkZf": {
"0": {
"name": "7o+0AxuS4muiCYxLOMT9pzdLug2LmrAzB7yLE7TrxwA=",
"primary_to_worker": "/dns/worker_1/tcp/4000/http",
"transactions": "/dns/worker_1/tcp/4001/http",
"worker_to_worker": "/dns/worker_1/tcp/4002/http"
}
},
"noDjBFfXGqQioHTf6jEIPYthhUWCMsC12ZJ9DMh7Ujk=": {
"pF/T4zMSkvDcHkCuk4Q8jsjcS+vZb/yAj2d8/R7CLH10dP3UxQKjwIeTklXJk/nLDfUg3MN86jMPSO/+2JTqO46oE86XssCKK+SeQCjft+gL0EzdvNlBs5iEt1YGlsoK": {
"0": {
"name": "63HCaWWXpqB8fhrGgBSNy7XfbSpakrILoXA5DaaYx1o=",
"primary_to_worker": "/dns/worker_2/tcp/4000/http",
"transactions": "/dns/worker_2/tcp/4001/http",
"worker_to_worker": "/dns/worker_2/tcp/4002/http"
}
},
"Z+K3OEI/eldyTTdp27mQFDdBPqjkss9wOkN6RceDTuM=": {
"ofwVakr2b+MoerCcQp+skTHfVVPOit575513sx443Cw7ESN6QxPcC6aWnhMUd/EwAI2mVImC4pKaE9G88vzA7B40X7SegLe1lFIJWE8Jyvds1yxWcnmESFF+L8ZLGI9i": {
"0": {
"name": "cJbSCbB7f3l/Tmeix4Ts3Th8xS3TTh4ohnakHKhObmc=",
"primary_to_worker": "/dns/worker_3/tcp/4000/http",
"transactions": "/dns/worker_3/tcp/4001/http",
"worker_to_worker": "/dns/worker_3/tcp/4002/http"
Expand Down
20 changes: 14 additions & 6 deletions benchmark/benchmark/commands.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,41 +31,49 @@ def generate_key(filename):
return f'./node generate_keys --filename {filename}'

@staticmethod
def run_primary(primary_keys, worker_keys, committee, workers, store, parameters, debug=False):
def generate_network_key(filename):
assert isinstance(filename, str)
return f'./node generate_network_keys --filename {filename}'

@staticmethod
def run_primary(primary_keys, primary_network_keys, worker_keys, committee, workers, store, parameters, debug=False):
assert isinstance(primary_keys, str)
assert isinstance(primary_network_keys, str)
assert isinstance(worker_keys, str)
assert isinstance(committee, str)
assert isinstance(workers, str)
assert isinstance(parameters, str)
assert isinstance(debug, bool)
v = '-vvv' if debug else '-vv'
return (f'./node {v} run --primary-keys {primary_keys} --worker-keys {worker_keys} '
return (f'./node {v} run --primary-keys {primary_keys} --primary-network-keys {primary_network_keys} --worker-keys {worker_keys} '
f'--committee {committee} --workers {workers} --store {store} '
f'--parameters {parameters} primary')

@staticmethod
def run_no_consensus_primary(primary_keys, worker_keys, committee, workers, store, parameters, debug=False):
def run_no_consensus_primary(primary_keys, primary_network_keys, worker_keys, committee, workers, store, parameters, debug=False):
assert isinstance(primary_keys, str)
assert isinstance(primary_network_keys, str)
assert isinstance(worker_keys, str)
assert isinstance(committee, str)
assert isinstance(workers, str)
assert isinstance(parameters, str)
assert isinstance(debug, bool)
v = '-vvv' if debug else '-vv'
return (f'./node {v} run --primary-keys {primary_keys} --worker-keys {worker_keys} '
return (f'./node {v} run --primary-keys {primary_keys} --primary-network-keys {primary_network_keys} --worker-keys {worker_keys} '
f'--committee {committee} --workers {workers} --store {store} '
f'--parameters {parameters} primary --consensus-disabled')

@staticmethod
def run_worker(primary_keys, worker_keys, committee, workers, store, parameters, id, debug=False):
def run_worker(primary_keys, primary_network_keys, worker_keys, committee, workers, store, parameters, id, debug=False):
assert isinstance(primary_keys, str)
assert isinstance(primary_network_keys, str)
assert isinstance(worker_keys, str)
assert isinstance(committee, str)
assert isinstance(workers, str)
assert isinstance(parameters, str)
assert isinstance(debug, bool)
v = '-vvv' if debug else '-vv'
return (f'./node {v} run --primary-keys {primary_keys} --worker-keys {worker_keys} '
return (f'./node {v} run --primary-keys {primary_keys} --primary-network-keys {primary_network_keys} --worker-keys {worker_keys} '
f'--committee {committee} --workers {workers} --store {store} '
f'--parameters {parameters} worker --id {id}')

Expand Down
Loading

0 comments on commit f990566

Please sign in to comment.