Created
July 2, 2019 03:07
-
-
Save usmansaleem/4bd9d418193f9733a50eba62a15f00c0 to your computer and use it in GitHub Desktop.
IBFT Static Nodes Permissioning
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#! /bin/bash | |
#IBFT 2.0 with permissions Pantheon setup script. 4 node setup. Assume pantheon is built using `gradlew installDist` | |
SCRIPTPATH="$( cd "$(dirname "$0")" ; pwd -P )" | |
PANTHEON_PATH="${SCRIPTPATH}/pantheon/build/install/pantheon" | |
IBFT_PATH="${SCRIPTPATH}/IBFT-NETWORK" | |
NODE_COUNT='4' | |
#Local Node Permissioning flags | |
PERM_NODE_CONFIG_ENABLED="true" | |
PERM_ACCOUNT_CONFIG_ENABLED="true" | |
#OnChain Node Permissioning flags | |
PERM_NODE_CONTRACT_ENABLED="false" | |
PERM_ACC_CONTRACT_ENABLED="false" | |
#Create node directories | |
for((i=1;i<=$NODE_COUNT;i++)) | |
do | |
mkdir -p "${IBFT_PATH}/Node-${i}/data" | |
done | |
# Create IBFT Genesis file | |
cat > $IBFT_PATH/ibftConfigFile.json << IBFT_CONFIG | |
{ | |
"genesis": { | |
"config": { | |
"chainId": 2018, | |
"constantinoplefixblock": 0, | |
"ibft2": { | |
"blockperiodseconds": 2, | |
"epochlength": 30000, | |
"requesttimeoutseconds": 10 | |
} | |
}, | |
"nonce": "0x0", | |
"timestamp": "0x58ee40ba", | |
"gasLimit": "0x47b760", | |
"difficulty": "0x1", | |
"mixHash": "0x63746963616c2062797a616e74696e65206661756c7420746f6c6572616e6365", | |
"coinbase": "0x0000000000000000000000000000000000000000", | |
"alloc": { | |
"fe3b557e8fb62b89f4916b721be55ceb828dbd73": { | |
"privateKey": "8f2a55949038a9610f50fb23b5883af3b4ecb3c3bb792cbcefbd1542c692be63", | |
"comment": "private key and this comment are ignored. In a real chain, the private key should NOT be stored", | |
"balance": "0xad78ebc5ac6200000" | |
}, | |
"627306090abaB3A6e1400e9345bC60c78a8BEf57": { | |
"privateKey": "c87509a1c067bbde78beb793e6fa76530b6382a4c0241e5e4a9ec0a0f44dc0d3", | |
"comment": "private key and this comment are ignored. In a real chain, the private key should NOT be stored", | |
"balance": "90000000000000000000000" | |
}, | |
"f17f52151EbEF6C7334FAD080c5704D77216b732": { | |
"privateKey": "ae6ae8e5ccbfb04590405997ee2d52d2b330726137b875053c36d94e974d162f", | |
"comment": "private key and this comment are ignored. In a real chain, the private key should NOT be stored", | |
"balance": "90000000000000000000000" | |
}, | |
"0x0000000000000000000000000000000000008888": { | |
"comment": "Account Ingress smart contract", | |
"balance": "0", | |
"code": "608060405234801561001057600080fd5b50600436106100bb576000357c0100000000000000000000000000000000000000000000000000000000900480638aa10435116100835780638aa10435146101f9578063936421d514610217578063a43e04d814610348578063e001f8411461038e578063fe9fbb80146103f4576100bb565b80630d2020dd146100c057806310d9042e1461012e578063116013061461018d5780631e7c27cb146101ab5780634dc3fefc146101c9575b600080fd5b6100ec600480360360208110156100d657600080fd5b8101908080359060200190929190505050610450565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610136610508565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561017957808201518184015260208101905061015e565b505050509050019250505060405180910390f35b610195610560565b6040518082815260200191505060405180910390f35b6101b3610566565b6040518082815260200191505060405180910390f35b6101f7600480360360208110156101df57600080fd5b8101908080351515906020019092919050505061056c565b005b610201610665565b6040518082815260200191505060405180910390f35b61032e600480360360c081101561022d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919080359060200190929190803590602001906401000000008111156102a857600080fd5b8201836020820111156102ba57600080fd5b803590602001918460018302840111640100000000831117156102dc57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061066f565b604051808215151515815260200191505060405180910390f35b6103746004803603602081101561035e57600080fd5b8101908080359060200190929190505050610889565b604051808215151515815260200191505060405180910390f35b6103da600480360360408110156103a457600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b6e565b604051808215151515815260200191505060405180910390f35b6104366004803603602081101561040a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f1b565b604051808215151515815260200191505060405180910390f35b60008060010282116104ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f436f6e7472616374206e616d65206d757374206e6f7420626520656d7074792e81525060200191505060405180910390fd5b6003600083815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6060600280548060200260200160405190810160405280929190818152602001828054801561055657602002820191906000526020600020905b815481526020019060010190808311610542575b5050505050905090565b60005481565b60015481565b3373ffffffffffffffffffffffffffffffffffffffff16600360008054815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610627576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260338152602001806111106033913960400191505060405180910390fd5b7f9a90898411a81dd648299737f986c95672bedd792b2c45a5c158d8365d54575f81604051808215151515815260200191505060405180910390a150565b6000600454905090565b60008073ffffffffffffffffffffffffffffffffffffffff16610693600054610450565b73ffffffffffffffffffffffffffffffffffffffff1614156106b8576001905061087f565b600360008054815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663936421d58888888888886040518763ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200185815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156107f25780820151818401526020810190506107d7565b50505050905090810190601f16801561081f5780820380516001836020036101000a031916815260200191505b5097505050505050505060206040518083038186803b15801561084157600080fd5b505afa158015610855573d6000803e3d6000fd5b505050506040513d602081101561086b57600080fd5b810190808051906020019092919050505090505b9695505050505050565b6000806001028211610903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f436f6e7472616374206e616d65206d757374206e6f7420626520656d7074792e81525060200191505060405180910390fd5b600060028054905011610961576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604781526020018061116e6047913960600191505060405180910390fd5b61096a33610f1b565b6109bf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180611143602b913960400191505060405180910390fd5b60008090505b600280549050811015610b635782600282815481106109e057fe5b90600052602060002001541415610b56576003600060028381548110610a0257fe5b90600052602060002001548152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555050600260016002805490500381548110610a8157fe5b906000526020600020015460028281548110610a9957fe5b9060005260206000200181905550600260016002805490500381548110610abc57fe5b90600052602060002001600090556002805480919060019003610adf9190611078565b507fe3d908a1f6d2467f8e7c8198f30125843211345eedb763beb4cdfb7fe728a5af600084604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a16001915050610b69565b80806001019150506109c5565b50600090505b919050565b6000806001028311610be8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f436f6e7472616374206e616d65206d757374206e6f7420626520656d7074792e81525060200191505060405180910390fd5b610bf133610f1b565b610c46576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180611143602b913960400191505060405180910390fd5b610c4e6110a4565b600360008581526020019081526020016000206040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250509050600073ffffffffffffffffffffffffffffffffffffffff16816020015173ffffffffffffffffffffffffffffffffffffffff161415610dc75760405180604001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1681525090506002849080600181540180825580915050906001820390600052602060002001600090919290919091505550610e00565b82816020019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505b806003600086815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050507fe3d908a1f6d2467f8e7c8198f30125843211345eedb763beb4cdfb7fe728a5af8385604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a1600191505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff16610f3f600154610450565b73ffffffffffffffffffffffffffffffffffffffff161415610f645760019050611073565b60036000600154815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fe9fbb80836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561103557600080fd5b505afa158015611049573d6000803e3d6000fd5b505050506040513d602081101561105f57600080fd5b810190808051906020019092919050505090505b919050565b81548183558181111561109f5781836000526020600020918201910161109e91906110ea565b5b505050565b6040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b61110c91905b808211156111085760008160009055506001016110f0565b5090565b9056fe4f6e6c792052756c657320636f6e74726163742063616e20747269676765722052756c6573206368616e6765206576656e74734e6f7420617574686f72697a656420746f2075706461746520636f6e74726163742072656769737472792e4d7573742068617665206174206c65617374206f6e65207265676973746572656420636f6e747261637420746f20657865637574652064656c657465206f7065726174696f6e2ea165627a7a72305820084ef97932e13971f11fe752caa186aa7e7bb7cefe2b2382b528200d1213fcbf0029", | |
"storage": { | |
"0x0000000000000000000000000000000000000000000000000000000000000000": "0x72756c6573000000000000000000000000000000000000000000000000000000", | |
"0x0000000000000000000000000000000000000000000000000000000000000001": "0x61646d696e697374726174696f6e000000000000000000000000000000000000", | |
"0x0000000000000000000000000000000000000000000000000000000000000004": "0x0f4240" | |
} | |
}, | |
"0x0000000000000000000000000000000000009999": { | |
"comment": "Node Ingress smart contract", | |
"balance": "0", | |
"code": "60806040526004361061009e576000357c0100000000000000000000000000000000000000000000000000000000900480630d2020dd146100a357806310d9042e1461011e578063116013061461018a5780631e7c27cb146101b55780633620b1df146101e05780634dc3fefc146102a45780638aa10435146102e1578063a43e04d81461030c578063e001f8411461035f578063fe9fbb80146103d2575b600080fd5b3480156100af57600080fd5b506100dc600480360360208110156100c657600080fd5b810190808035906020019092919050505061043b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561012a57600080fd5b506101336104f5565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561017657808201518184015260208101905061015b565b505050509050019250505060405180910390f35b34801561019657600080fd5b5061019f61054d565b6040518082815260200191505060405180910390f35b3480156101c157600080fd5b506101ca610553565b6040518082815260200191505060405180910390f35b3480156101ec57600080fd5b5061028e600480360361010081101561020457600080fd5b81019080803590602001909291908035906020019092919080356fffffffffffffffffffffffffffffffff19169060200190929190803561ffff169060200190929190803590602001909291908035906020019092919080356fffffffffffffffffffffffffffffffff19169060200190929190803561ffff169060200190929190505050610559565b6040518082815260200191505060405180910390f35b3480156102b057600080fd5b506102df600480360360208110156102c757600080fd5b81019080803515159060200190929190505050610746565b005b3480156102ed57600080fd5b506102f6610884565b6040518082815260200191505060405180910390f35b34801561031857600080fd5b506103456004803603602081101561032f57600080fd5b810190808035906020019092919050505061088e565b604051808215151515815260200191505060405180910390f35b34801561036b57600080fd5b506103b86004803603604081101561038257600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c2f565b604051808215151515815260200191505060405180910390f35b3480156103de57600080fd5b50610421600480360360208110156103f557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611023565b604051808215151515815260200191505060405180910390f35b600080600102821115156104b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f436f6e7472616374206e616d65206d757374206e6f7420626520656d7074792e81525060200191505060405180910390fd5b6003600083815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6060600280548060200260200160405190810160405280929190818152602001828054801561054357602002820191906000526020600020905b81548152602001906001019080831161052f575b5050505050905090565b60005481565b60015481565b60008073ffffffffffffffffffffffffffffffffffffffff1661057d60005461043b565b73ffffffffffffffffffffffffffffffffffffffff1614156105c4577f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600102905061073a565b600360008054815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633620b1df8a8a8a8a8a8a8a8a6040518963ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180898152602001888152602001876fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff191681526020018661ffff1661ffff168152602001858152602001848152602001836fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff191681526020018261ffff1661ffff1681526020019850505050505050505060206040518083038186803b1580156106fc57600080fd5b505afa158015610710573d6000803e3d6000fd5b505050506040513d602081101561072657600080fd5b810190808051906020019092919050505090505b98975050505050505050565b3373ffffffffffffffffffffffffffffffffffffffff16600360008054815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610846576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260338152602001807f4f6e6c792052756c657320636f6e74726163742063616e20747269676765722081526020017f52756c6573206368616e6765206576656e74730000000000000000000000000081525060400191505060405180910390fd5b7f66120f934b66d52127e448f8e94c2460ea62821335e0dd18e89ed38a4a09b41381604051808215151515815260200191505060405180910390a150565b6000600454905090565b6000806001028211151561090a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f436f6e7472616374206e616d65206d757374206e6f7420626520656d7074792e81525060200191505060405180910390fd5b60006002805490501115156109d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260478152602001807f4d7573742068617665206174206c65617374206f6e652072656769737465726581526020017f6420636f6e747261637420746f20657865637574652064656c657465206f706581526020017f726174696f6e2e0000000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b6109dc33611023565b1515610a76576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001807f4e6f7420617574686f72697a656420746f2075706461746520636f6e7472616381526020017f742072656769737472792e00000000000000000000000000000000000000000081525060400191505060405180910390fd5b60008090505b600280549050811015610c245782600282815481101515610a9957fe5b90600052602060002001541415610c175760036000600283815481101515610abd57fe5b90600052602060002001548152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550506002600160028054905003815481101515610b3e57fe5b9060005260206000200154600282815481101515610b5857fe5b90600052602060002001819055506002600160028054905003815481101515610b7d57fe5b90600052602060002001600090556002805480919060019003610ba09190611180565b507fe3d908a1f6d2467f8e7c8198f30125843211345eedb763beb4cdfb7fe728a5af600084604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a16001915050610c2a565b8080600101915050610a7c565b50600090505b919050565b60008060010283111515610cab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f436f6e7472616374206e616d65206d757374206e6f7420626520656d7074792e81525060200191505060405180910390fd5b610cb433611023565b1515610d4e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001807f4e6f7420617574686f72697a656420746f2075706461746520636f6e7472616381526020017f742072656769737472792e00000000000000000000000000000000000000000081525060400191505060405180910390fd5b610d566111ac565b600360008581526020019081526020016000206040805190810160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250509050600073ffffffffffffffffffffffffffffffffffffffff16816020015173ffffffffffffffffffffffffffffffffffffffff161415610ecf5760408051908101604052803373ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1681525090506002849080600181540180825580915050906001820390600052602060002001600090919290919091505550610f08565b82816020019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505b806003600086815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050507fe3d908a1f6d2467f8e7c8198f30125843211345eedb763beb4cdfb7fe728a5af8385604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a1600191505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff1661104760015461043b565b73ffffffffffffffffffffffffffffffffffffffff16141561106c576001905061117b565b60036000600154815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fe9fbb80836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561113d57600080fd5b505afa158015611151573d6000803e3d6000fd5b505050506040513d602081101561116757600080fd5b810190808051906020019092919050505090505b919050565b8154818355818111156111a7578183600052602060002091820191016111a691906111f2565b5b505050565b6040805190810160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b61121491905b808211156112105760008160009055506001016111f8565b5090565b9056fea165627a7a72305820983bfe3942b9e8017923c6c8ab25cd06562512a2ca87192d3dca6d6bfb17de9d0029", | |
"storage": { | |
"0x0000000000000000000000000000000000000000000000000000000000000000": "0x72756c6573000000000000000000000000000000000000000000000000000000", | |
"0x0000000000000000000000000000000000000000000000000000000000000001": "0x61646d696e697374726174696f6e000000000000000000000000000000000000", | |
"0x0000000000000000000000000000000000000000000000000000000000000004": "0x0f4240" | |
} | |
} | |
} | |
}, | |
"blockchain": { | |
"nodes": { | |
"generate": true, | |
"count": $NODE_COUNT | |
} | |
} | |
} | |
IBFT_CONFIG | |
$PANTHEON_PATH/bin/pantheon --version | |
$PANTHEON_PATH/bin/pantheon operator generate-blockchain-config --config-file=$IBFT_PATH/ibftConfigFile.json --to=$IBFT_PATH/networkFiles | |
cp $IBFT_PATH/networkFiles/genesis.json $IBFT_PATH/ | |
#Read the generated keys directories in an array | |
array=() | |
while IFS= read -r -d $'\0'; do | |
array+=("$REPLY") | |
done < <(find $IBFT_PATH/networkFiles/keys -maxdepth 1 -mindepth 1 -type d -print0) | |
# Construct parameter values | |
PPPORT=30303 | |
RPCPORT=8545 | |
declare -a ENODES | |
declare -a PP_PORTS | |
declare -a RPC_PORTS | |
for((i=0;i<${#array[@]};i++)) | |
do | |
NODE_KEY=`cat ${array[i]}/key.pub | cut -c3-` | |
PP_PORTS[i]=$((PPPORT + i)) | |
RPC_PORTS[i]=$((RPCPORT + i)) | |
ENODES[i]="\"enode://${NODE_KEY}@127.0.0.1:${PP_PORTS[i]}\"" | |
done | |
# comma separated enode whitelist | |
WHITELIST=$(IFS=,; echo "${ENODES[*]}") | |
#Create permissions configuration file (first two accounts from above genesis file) | |
cat > $IBFT_PATH/permissions_config.toml << PERM_CONFIG | |
accounts-whitelist=["0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", "0x627306090abaB3A6e1400e9345bC60c78a8BEf57"] | |
nodes-whitelist=[$WHITELIST] | |
PERM_CONFIG | |
# create static nodes file | |
cat > "$IBFT_PATH/static-nodes.json" << STATIC_JSON | |
[ | |
$WHITELIST | |
] | |
STATIC_JSON | |
#Copy key files and print node launch commands | |
for((i=1;i<=${#array[@]};i++)) | |
do | |
cp "${array[i-1]}/key.pub" "${IBFT_PATH}/Node-${i}/data/key.pub" | |
cp "${array[i-1]}/key.priv" "${IBFT_PATH}/Node-${i}/data/key" | |
cp "${IBFT_PATH}/permissions_config.toml" "${IBFT_PATH}/Node-${i}/data/" | |
cp "${IBFT_PATH}/static-nodes.json" "${IBFT_PATH}/Node-${i}/data/" | |
printf " *** Node ${i} Command *** \n" | |
printf "${PANTHEON_PATH}/bin/pantheon --data-path=${IBFT_PATH}/Node-${i}/data --genesis-file=${IBFT_PATH}/genesis.json \ | |
--discovery-enabled=false \ | |
--p2p-port=${PP_PORTS[i-1]} --rpc-http-port=${RPC_PORTS[i-1]} \ | |
--permissions-nodes-config-file-enabled=$PERM_NODE_CONFIG_ENABLED \ | |
--permissions-accounts-config-file-enabled=$PERM_ACCOUNT_CONFIG_ENABLED \ | |
--rpc-http-enabled \ | |
--rpc-http-api=ADMIN,ETH,NET,PERM,IBFT \ | |
--host-whitelist=\"*\" \ | |
--rpc-http-cors-origins=\"all\"\n" | |
#BOOTNODE="--bootnodes=${ENODES[0]}" | |
done |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment