Create Local Test Network

Set up a fakenet

Building the source

Building Lachesis requires both a Go (version 1.13 or later) and a C compiler. You can install them using your favourite package manager. Once the dependencies are installed, run

go build -o ./build/lachesis ./cmd/lachesis

The build output is an executable file located at build/lachesis. Do not clone the project into $GOPATH, due to the Go Modules. Instead, use any other location.

Operating a private network (fakenet)

Fakenet is a private network optimized for your private testing. It wil generate a genesis containing N validators with equal stakes. To launch a validator in this network, all you need to do is specify a validator ID you're willing to launch.

Note that validator's private keys are deterministically generated for this fakenet network. So you must use it only for private testing.

Maintaining your own private network is more involved as a lot of configurations taken for granted in the official networks need to be manually set up.

To run a fakenet with just one validator (which will work practically as a PoA blockchain), use:

$ lachesis --fakenet 1/1

To run the fakenet with 5 validators, run the command for each validator:

$ lachesis --fakenet 1/5 # first node, use 2/5 for second node

If you have to launch a non-validator node in fakenet, use 0 as ID:

$ lachesis --fakenet 0/5

After that, you have to connect your nodes. Either connect them statically or specify a bootnode:

$ lachesis --fakenet 1/5 --bootnodes "enode://verylonghex@1.2.3.4:5050"

Set up private network

Add the precompiled contract

# cat Stakers.bin-runtime
60806040526004361061026a5760003560e01c80637cacb1d611610153578063c312eb07116100cb578063e89579881161007f578063f70f53e011610064578063f70f53e0146106b1578063f99837e6146106e1578063fd5e6dd1146107115761026a565b8063e89579881461064b578063f0f947c8146106815761026a565b8063c4b5dd7e116100b0578063c4b5dd7e1461026f578063d9e257ef1461062e578063e6cf47c0146106365761026a565b8063c312eb07146105fc578063c41b6405146106195761026a565b8063a778651511610122578063b9029d5011610107578063b9029d5014610526578063bed9d8611461057c578063bffe3486146105915761026a565b8063a7786515146104d2578063b6732f3d146104e75761026a565b80637cacb1d61461045457806381d9dc7a1461046957806383a7373e146103e257806396060e711461047e5761026a565b806330fa9929116101e65780633fee10a8116101b557806354d77ed21161019a57806354d77ed2146102ca57806363321e271461040c578063766718081461043f5761026a565b80633fee10a8146103e25780634bd202dc146103f75761026a565b806330fa9929146103735780633594a5d214610388578063375b3c0a146103b85780633d0317fe146103cd5761026a565b8063178eea021161023d5780631e8a6956116102225780631e8a6956146102f45780632265f284146103495780632709275e1461035e5761026a565b8063178eea02146102ca5780631c333318146102df5761026a565b8063029859921461026f57806308728f6e146102965780630c7331b1146102ab57806316bfdd81146102b5575b600080fd5b34801561027b57600080fd5b5061028461078b565b60408051918252519081900360200190f35b3480156102a257600080fd5b50610284610797565b6102b361079d565b005b3480156102c157600080fd5b506102b36107a7565b3480156102d657600080fd5b50610284610a18565b3480156102eb57600080fd5b506102b3610a1d565b34801561030057600080fd5b5061031e6004803603602081101561031757600080fd5b5035610bb2565b6040805195865260208601949094528484019290925260608401526080830152519081900360a00190f35b34801561035557600080fd5b50610284610be8565b34801561036a57600080fd5b50610284610bef565b34801561037f57600080fd5b50610284610bff565b34801561039457600080fd5b50610284600480360360408110156103ab57600080fd5b5080359060200135610c05565b3480156103c457600080fd5b50610284610d01565b3480156103d957600080fd5b50610284610d10565b3480156103ee57600080fd5b50610284610d16565b34801561040357600080fd5b50610284610d1d565b34801561041857600080fd5b506102846004803603602081101561042f57600080fd5b50356001600160a01b0316610d23565b34801561044b57600080fd5b50610284610d3e565b34801561046057600080fd5b50610284610d47565b34801561047557600080fd5b50610284610d4d565b34801561048a57600080fd5b506104b4600480360360608110156104a157600080fd5b5080359060208101359060400135610d53565b60408051938452602084019290925282820152519081900360600190f35b3480156104de57600080fd5b50610284610dc3565b3480156104f357600080fd5b506104b46004803603606081101561050a57600080fd5b506001600160a01b038135169060208101359060400135610dd0565b34801561053257600080fd5b506105566004803603604081101561054957600080fd5b5080359060200135610e92565b604080519485526020850193909352838301919091526060830152519081900360800190f35b34801561058857600080fd5b506102b3610ec3565b34801561059d57600080fd5b506105c4600480360360208110156105b457600080fd5b50356001600160a01b031661114e565b604080519788526020880196909652868601949094526060860192909252608085015260a084015260c0830152519081900360e00190f35b6102b36004803603602081101561061257600080fd5b503561118b565b34801561062557600080fd5b506102b3611530565b6102b361165b565b34801561064257600080fd5b5061028461187f565b34801561065757600080fd5b506102846004803603606081101561066e57600080fd5b508035906020810135906040013561188b565b34801561068d57600080fd5b506102b3600480360360408110156106a457600080fd5b5080359060200135611932565b3480156106bd57600080fd5b50610284600480360360408110156106d457600080fd5b5080359060200135611b51565b3480156106ed57600080fd5b506102b36004803603604081101561070457600080fd5b5080359060200135611bf2565b34801561071d57600080fd5b5061073b6004803603602081101561073457600080fd5b5035611eac565b60408051998a5260208a0198909852888801969096526060880194909452608087019290925260a086015260c085015260e08401526001600160a01b031661010083015251908190036101200190f35b670de0b6b3a764000090565b60055481565b6107a5611f00565b565b3360008181526009602052604090206003015461080b576040805162461bcd60e51b815260206004820152601d60248201527f64656c65676174696f6e207761736e2774206465616374697661746564000000604482015290519081900360640190fd5b610813610d16565b6001600160a01b03821660009081526009602052604090206003015401421015610884576040805162461bcd60e51b815260206004820152601660248201527f6e6f7420656e6f7567682074696d652070617373656400000000000000000000604482015290519081900360640190fd5b61088c610a18565b6001600160a01b038216600090815260096020526040902060020154016108b1610d3e565b1015610904576040805162461bcd60e51b815260206004820152601860248201527f6e6f7420656e6f7567682065706f636873207061737365640000000000000000604482015290519081900360640190fd5b6001600160a01b0381166000818152600960208181526040808420600681018054808752600280865293872054978752949093526004810180548683556001808401889055938301879055600383018790559086905560059091018590559184905560078054600019019055600854929416151591610989908263ffffffff61212816565b600855816109cd576040516001600160a01b0386169082156108fc029083906000818181858888f193505050501580156109c7573d6000803e3d6000fd5b506109d1565b8092505b60408051848152905185916001600160a01b038816917f87e86b3710b72c10173ca52c6a9f9cf2df27e77ed177741a8b4feb12bb7a606f9181900360200190a35050505050565b600390565b33600081815260096020526040902060040154610a81576040805162461bcd60e51b815260206004820152601860248201527f64656c65676174696f6e20646f65736e27742065786973740000000000000000604482015290519081900360640190fd5b6001600160a01b03811660009081526009602052604090206003015415610aef576040805162461bcd60e51b815260206004820152601960248201527f64656c65676174696f6e20697320646561637469766174656400000000000000604482015290519081900360640190fd5b610af7610d3e565b6001600160a01b03821660009081526009602090815260408083206002808201959095554260038201556006810154600490910154818552949092529091206005015490919015610b7757600082815260026020526040902060070154610b64908263ffffffff61212816565b6000838152600260205260409020600701555b60405182906001600160a01b038516907f5b1eea49e405ef6d509836aac841959c30bb0673b1fd70859bfc6ae5e4ee3df290600090a3505050565b60016020528060005260406000206000915090508060010154908060020154908060030154908060040154908060050154905085565b62e4e1c090565b600060646301c9c3805b04905090565b60085481565b60008181526001602090815260408083206004810154868552928190529083206002810154600590920154600390910154848315610c8957610c8685610c7a86610c6e610c5061187f565b60008d8152600160205260409020600201549063ffffffff61216a16565b9063ffffffff61216a16565b9063ffffffff6121c316565b90505b60008215610ce257600088815260016020526040902060030154610cb9908590610c7a908663ffffffff61216a16565b9050610cdf620f4240610c7a610ccd610bef565b8490620f42400363ffffffff61216a16565b90505b610cf2828263ffffffff61220516565b96505050505050505b92915050565b6a02a055184a310c1260000090565b60065481565b62093a8090565b60075481565b6001600160a01b031660009081526003602052604090205490565b60005460010190565b60005481565b60045481565b600080600080610d7c86600260008a81526020019081526020016000206006015460010161225f565b9050600080825b6000548111158015610d96575087840181105b15610db457610da58a82611b51565b90920191905060018101610d83565b50909891975095509350505050565b6000606462e4e1c0610bf9565b6001600160a01b03831660009081526009602052604081206006810154600590910154829182918290610e0790889060010161225f565b6001600160a01b03891660009081526009602052604090206003015490915015610e2d57fe5b600080825b6000548111158015610e45575088840181105b15610e82576001600160a01b038b16600090815260096020526040902060040154610e73908690839061188b565b90920191905060018101610e32565b5090999198509650945050505050565b6000918252600160208181526040808520938552929052912080549181015460028201546003909201549293909290565b33600081815260036020908152604080832054808452600290925290912060040154610f36576040805162461bcd60e51b815260206004820152601960248201527f7374616b6572207761736e277420646561637469766174656400000000000000604482015290519081900360640190fd5b610f3e610d16565b60008281526002602052604090206004015401421015610fa5576040805162461bcd60e51b815260206004820152601660248201527f6e6f7420656e6f7567682074696d652070617373656400000000000000000000604482015290519081900360640190fd5b610fad610a18565b60008281526002602052604090206003015401610fc8610d3e565b101561101b576040805162461bcd60e51b815260206004820152601860248201527f6e6f7420656e6f7567682065706f636873207061737365640000000000000000604482015290519081900360640190fd5b600081815260026020818152604080842060058082018054835488855560018086018a905597850189905560038086018a9055600486018a90559289905560068086018a9055600786018a9055600890950180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556001600160a01b038b16895291909552928620869055805460001901905554919392161515906110c9908463ffffffff61212816565b6006558061110d576040516001600160a01b0386169084156108fc029085906000818181858888f19350505050158015611107573d6000803e3d6000fd5b50611111565b8291505b60408051838152905185917f8c6548258f8f12a9d4b593fa89a223417ed901d4ee9712ba09beb4d56f5262b6919081900360200190a25050505050565b6009602052600090815260409020805460018201546002830154600384015460048501546005860154600690960154949593949293919290919087565b60008181526002602052604090206005015433906111f0576040805162461bcd60e51b815260206004820152601460248201527f7374616b657220646f65736e2774206578697374000000000000000000000000604482015290519081900360640190fd5b60008281526002602052604090205460011615611254576040805162461bcd60e51b815260206004820152601b60248201527f7374616b65722073686f756c646e277420626520636865617465720000000000604482015290519081900360640190fd5b61125c61078b565b34101561129a5760405162461bcd60e51b81526004018080602001828103825260228152602001806123ae6022913960400191505060405180910390fd5b6001600160a01b03811660009081526009602052604090206004015415611308576040805162461bcd60e51b815260206004820152601960248201527f64656c65676174696f6e20616c72656164792065786973747300000000000000604482015290519081900360640190fd5b6001600160a01b03811660009081526003602052604090205415611373576040805162461bcd60e51b815260206004820152600f60248201527f616c7265616479207374616b696e670000000000000000000000000000000000604482015290519081900360640190fd5b600082815260026020526040902060070154611395903463ffffffff61220516565b6113c5620f4240610c7a6113a7610be8565b6000878152600260205260409020600501549063ffffffff61216a16565b1015611418576040805162461bcd60e51b815260206004820152601a60248201527f7374616b65722773206c696d6974206973206578636565646564000000000000604482015290519081900360640190fd5b611420612370565b611428610d3e565b8152426020808301918252346080840181815260c085018781526000805460a088019081526001600160a01b03891682526009865260408083208951815597516001890155808901516002808a019190915560608a015160038a01559451600489015590516005880155915160069096019590955587855292529120600701546114b79163ffffffff61220516565b6000848152600260205260409020600790810191909155805460010190556008546114e8903463ffffffff61220516565b60085560408051348152905184916001600160a01b038516917ffd8c857fb9acd6f4ad59b8621a2a77825168b7b4b76de9586d08e00d4ed462be9181900360200190a3505050565b336000818152600360209081526040808320548084526002909252909120600501546115a3576040805162461bcd60e51b815260206004820152601460248201527f7374616b657220646f65736e2774206578697374000000000000000000000000604482015290519081900360640190fd5b60008181526002602052604090206004015415611607576040805162461bcd60e51b815260206004820152601560248201527f7374616b65722069732064656163746976617465640000000000000000000000604482015290519081900360640190fd5b61160f610d3e565b600082815260026020526040808220600381019390935542600490930192909255905182917f84244546a9da4942f506db48ff90ebc240c73bb399e3e47d58843c6bb60e718591a25050565b3360008181526003602052604090205461167361078b565b3410156116c7576040805162461bcd60e51b815260206004820152601360248201527f696e73756666696369656e7420616d6f756e7400000000000000000000000000604482015290519081900360640190fd5b60008181526002602052604090206005015461172a576040805162461bcd60e51b815260206004820152601460248201527f7374616b657220646f65736e2774206578697374000000000000000000000000604482015290519081900360640190fd5b6000818152600260205260409020600401541561178e576040805162461bcd60e51b815260206004820152601560248201527f7374616b65722069732064656163746976617465640000000000000000000000604482015290519081900360640190fd5b600081815260026020526040902054600116156117f2576040805162461bcd60e51b815260206004820152601b60248201527f7374616b65722073686f756c646e277420626520636865617465720000000000604482015290519081900360640190fd5b600081815260026020526040812060050154611814903463ffffffff61220516565b600083815260026020526040902060050181905560065490915061183e903463ffffffff61220516565b60065560408051828152346020820152815184927fa1d93e9a2a16bf4c2d0cdc6f47fe0fa054c741c96b3dac1297c79eaca31714e9928290030190a2505050565b67726172240d647ac890565b6000806118988585610c05565b60008581526001602081815260408084208a85529091528220805491015492935091906118c58383612205565b9050806118d957600094505050505061192b565b600061190d620f4240610c7a6119006118f0610dc3565b620f42409063ffffffff61212816565b8a9063ffffffff61216a16565b905061192382610c7a878463ffffffff61216a16565b955050505050505b9392505050565b3360008181526003602052604090205480611994576040805162461bcd60e51b815260206004820152601460248201527f7374616b657220646f65736e2774206578697374000000000000000000000000604482015290519081900360640190fd5b60008060006119a4848888610d53565b60008781526002602052604090206006015492955090935091508211611a11576040805162461bcd60e51b815260206004820152601560248201527f65706f636820697320616c726561647920706169640000000000000000000000604482015290519081900360640190fd5b600054821115611a68576040805162461bcd60e51b815260206004820152600c60248201527f6675747572652065706f63680000000000000000000000000000000000000000604482015290519081900360640190fd5b81811015611abd576040805162461bcd60e51b815260206004820152601160248201527f6e6f2065706f63687320636c61696d6564000000000000000000000000000000604482015290519081900360640190fd5b600084815260026020526040808220600601839055516001600160a01b0387169185156108fc02918691818181858888f19350505050158015611b04573d6000803e3d6000fd5b506040805184815260208101849052808201839052905185917f2ea54c2b22a07549d19fb5eb8e4e48ebe1c653117215e94d5468c5612750d35c919081900360600190a250505050505050565b600080611b5e8484610c05565b6000848152600160208181526040808420898552909152822080549101549293509190611b8b8383612205565b905080611b9f576000945050505050610cfb565b6000611bd0611bc3620f4240610c7a611bb6610dc3565b879063ffffffff61216a16565b859063ffffffff61220516565b9050611be682610c7a878463ffffffff61216a16565b98975050505050505050565b33600081815260096020526040902060040154611c56576040805162461bcd60e51b815260206004820152601860248201527f64656c65676174696f6e20646f65736e27742065786973740000000000000000604482015290519081900360640190fd5b6001600160a01b03811660009081526009602052604090206003015415611cc4576040805162461bcd60e51b815260206004820152601960248201527f64656c65676174696f6e20697320646561637469766174656400000000000000604482015290519081900360640190fd5b6000806000611cd4848787610dd0565b6001600160a01b03871660009081526009602052604090206005015492955090935091508211611d4b576040805162461bcd60e51b815260206004820152601560248201527f65706f636820697320616c726561647920706169640000000000000000000000604482015290519081900360640190fd5b600054821115611da2576040805162461bcd60e51b815260206004820152600c60248201527f6675747572652065706f63680000000000000000000000000000000000000000604482015290519081900360640190fd5b81811015611df7576040805162461bcd60e51b815260206004820152601160248201527f6e6f2065706f63687320636c61696d6564000000000000000000000000000000604482015290519081900360640190fd5b6001600160a01b0384166000818152600960205260408082206005018490555185156108fc0291869190818181858888f19350505050158015611e3e573d6000803e3d6000fd5b506001600160a01b03841660008181526009602090815260409182902060060154825187815291820186905281830185905291519192839290917f2676e1697cf4731b93ddb4ef54e0e5a98c06cccbbbb2202848a3c6286595e6ce919081900360600190a350505050505050565b6002602081905260009182526040909120805460018201549282015460038301546004840154600585015460068601546007870154600890970154959796949593949293919290916001600160a01b031689565b3360008181526003602052604090205415611f62576040805162461bcd60e51b815260206004820152601560248201527f7374616b657220616c7265616479206578697374730000000000000000000000604482015290519081900360640190fd5b6001600160a01b03811660009081526009602052604090206004015415611fd0576040805162461bcd60e51b815260206004820152601260248201527f616c72656164792064656c65676174696e670000000000000000000000000000604482015290519081900360640190fd5b611fd8610d01565b34101561202c576040805162461bcd60e51b815260206004820152601360248201527f696e73756666696369656e7420616d6f756e7400000000000000000000000000604482015290519081900360640190fd5b60048054600101908190556001600160a01b0382166000908152600360209081526040808320849055838352600290915290203460059091015561206e610d3e565b6000828152600260208190526040822060018082019490945542918101919091556008810180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038716179055905460069182015560058054909201909155546120e19034612205565b6006556040805134815290516001600160a01b0384169183917f0697dfe5062b9db8108e4b31254f47a912ae6bbb78837667b2e923a6f5160d399181900360200190a35050565b600061192b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612274565b60008261217957506000610cfb565b8282028284828161218657fe5b041461192b5760405162461bcd60e51b81526004018080602001828103825260218152602001806123d06021913960400191505060405180910390fd5b600061192b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061230b565b60008282018381101561192b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008261226d575080610cfb565b5090919050565b600081848411156123035760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156122c85781810151838201526020016122b0565b50505050905090810190601f1680156122f55780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000818361235a5760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156122c85781810151838201526020016122b0565b50600083858161236657fe5b0495945050505050565b6040518060e0016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152509056fe696e73756666696369656e7420616d6f756e7420666f722064656c65676174696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a265627a7a723158207a3ea2ec9b3a3ccf6c1deb6233afab524cf1fa41b6cb4fd3c7c6f37f7c6f5a4464736f6c634300050b0032

Take the binary output from Stakers.bin and convert to a uint8 array;

96,128,96,64,82,96,4,54,16,97,2,106,87,96,0,53,96,224,28,128,99,124,172,177,214,17,97,1,83,87,128,99,195,18,235,7,17,97,0,203,87,128,99,232,149,121,136,17,97,0,127,87,128,99,247,15,83,224,17,97,0,100,87,128,99,247,15,83,224,20,97,6,177,87,128,99,249,152,55,230,20,97,6,225,87,128,99,253,94,109,209,20,97,7,17,87,97,2,106,86,91,128,99,232,149,121,136,20,97,6,75,87,128,99,240,249,71,200,20,97,6,129,87,97,2,106,86,91,128,99,196,181,221,126,17,97,0,176,87,128,99,196,181,221,126,20,97,2,111,87,128,99,217,226,87,239,20,97,6,46,87,128,99,230,207,71,192,20,97,6,54,87,97,2,106,86,91,128,99,195,18,235,7,20,97,5,252,87,128,99,196,27,100,5,20,97,6,25,87,97,2,106,86,91,128,99,167,120,101,21,17,97,1,34,87,128,99,185,2,157,80,17,97,1,7,87,128,99,185,2,157,80,20,97,5,38,87,128,99,190,217,216,97,20,97,5,124,87,128,99,191,254,52,134,20,97,5,145,87,97,2,106,86,91,128,99,167,120,101,21,20,97,4,210,87,128,99,182,115,47,61,20,97,4,231,87,97,2,106,86,91,128,99,124,172,177,214,20,97,4,84,87,128,99,129,217,220,122,20,97,4,105,87,128,99,131,167,55,62,20,97,3,226,87,128,99,150,6,14,113,20,97,4,126,87,97,2,106,86,91,128,99,48,250,153,41,17,97,1,230,87,128,99,63,238,16,168,17,97,1,181,87,128,99,84,215,126,210,17,97,1,154,87,128,99,84,215,126,210,20,97,2,202,87,128,99,99,50,30,39,20,97,4,12,87,128,99,118,103,24,8,20,97,4,63,87,97,2,106,86,91,128,99,63,238,16,168,20,97,3,226,87,128,99,75,210,2,220,20,97,3,247,87,97,2,106,86,91,128,99,48,250,153,41,20,97,3,115,87,128,99,53,148,165,210,20,97,3,136,87,128,99,55,91,60,10,20,97,3,184,87,128,99,61,3,23,254,20,97,3,205,87,97,2,106,86,91,128,99,23,142,234,2,17,97,2,61,87,128,99,30,138,105,86,17,97,2,34,87,128,99,30,138,105,86,20,97,2,244,87,128,99,34,101,242,132,20,97,3,73,87,128,99,39,9,39,94,20,97,3,94,87,97,2,106,86,91,128,99,23,142,234,2,20,97,2,202,87,128,99,28,51,51,24,20,97,2,223,87,97,2,106,86,91,128,99,2,152,89,146,20,97,2,111,87,128,99,8,114,143,110,20,97,2,150,87,128,99,12,115,49,177,20,97,2,171,87,128,99,22,191,221,129,20,97,2,181,87,91,96,0,128,253,91,52,128,21,97,2,123,87,96,0,128,253,91,80,97,2,132,97,7,139,86,91,96,64,128,81,145,130,82,81,144,129,144,3,96,32,1,144,243,91,52,128,21,97,2,162,87,96,0,128,253,91,80,97,2,132,97,7,151,86,91,97,2,179,97,7,157,86,91,0,91,52,128,21,97,2,193,87,96,0,128,253,91,80,97,2,179,97,7,167,86,91,52,128,21,97,2,214,87,96,0,128,253,91,80,97,2,132,97,10,24,86,91,52,128,21,97,2,235,87,96,0,128,253,91,80,97,2,179,97,10,29,86,91,52,128,21,97,3,0,87,96,0,128,253,91,80,97,3,30,96,4,128,54,3,96,32,129,16,21,97,3,23,87,96,0,128,253,91,80,53,97,11,178,86,91,96,64,128,81,149,134,82,96,32,134,1,148,144,148,82,132,132,1,146,144,146,82,96,96,132,1,82,96,128,131,1,82,81,144,129,144,3,96,160,1,144,243,91,52,128,21,97,3,85,87,96,0,128,253,91,80,97,2,132,97,11,232,86,91,52,128,21,97,3,106,87,96,0,128,253,91,80,97,2,132,97,11,239,86,91,52,128,21,97,3,127,87,96,0,128,253,91,80,97,2,132,97,11,255,86,91,52,128,21,97,3,148,87,96,0,128,253,91,80,97,2,132,96,4,128,54,3,96,64,129,16,21,97,3,171,87,96,0,128,253,91,80,128,53,144,96,32,1,53,97,12,5,86,91,52,128,21,97,3,196,87,96,0,128,253,91,80,97,2,132,97,13,1,86,91,52,128,21,97,3,217,87,96,0,128,253,91,80,97,2,132,97,13,16,86,91,52,128,21,97,3,238,87,96,0,128,253,91,80,97,2,132,97,13,22,86,91,52,128,21,97,4,3,87,96,0,128,253,91,80,97,2,132,97,13,29,86,91,52,128,21,97,4,24,87,96,0,128,253,91,80,97,2,132,96,4,128,54,3,96,32,129,16,21,97,4,47,87,96,0,128,253,91,80,53,96,1,96,1,96,160,27,3,22,97,13,35,86,91,52,128,21,97,4,75,87,96,0,128,253,91,80,97,2,132,97,13,62,86,91,52,128,21,97,4,96,87,96,0,128,253,91,80,97,2,132,97,13,71,86,91,52,128,21,97,4,117,87,96,0,128,253,91,80,97,2,132,97,13,77,86,91,52,128,21,97,4,138,87,96,0,128,253,91,80,97,4,180,96,4,128,54,3,96,96,129,16,21,97,4,161,87,96,0,128,253,91,80,128,53,144,96,32,129,1,53,144,96,64,1,53,97,13,83,86,91,96,64,128,81,147,132,82,96,32,132,1,146,144,146,82,130,130,1,82,81,144,129,144,3,96,96,1,144,243,91,52,128,21,97,4,222,87,96,0,128,253,91,80,97,2,132,97,13,195,86,91,52,128,21,97,4,243,87,96,0,128,253,91,80,97,4,180,96,4,128,54,3,96,96,129,16,21,97,5,10,87,96,0,128,253,91,80,96,1,96,1,96,160,27,3,129,53,22,144,96,32,129,1,53,144,96,64,1,53,97,13,208,86,91,52,128,21,97,5,50,87,96,0,128,253,91,80,97,5,86,96,4,128,54,3,96,64,129,16,21,97,5,73,87,96,0,128,253,91,80,128,53,144,96,32,1,53,97,14,146,86,91,96,64,128,81,148,133,82,96,32,133,1,147,144,147,82,131,131,1,145,144,145,82,96,96,131,1,82,81,144,129,144,3,96,128,1,144,243,91,52,128,21,97,5,136,87,96,0,128,253,91,80,97,2,179,97,14,195,86,91,52,128,21,97,5,157,87,96,0,128,253,91,80,97,5,196,96,4,128,54,3,96,32,129,16,21,97,5,180,87,96,0,128,253,91,80,53,96,1,96,1,96,160,27,3,22,97,17,78,86,91,96,64,128,81,151,136,82,96,32,136,1,150,144,150,82,134,134,1,148,144,148,82,96,96,134,1,146,144,146,82,96,128,133,1,82,96,160,132,1,82,96,192,131,1,82,81,144,129,144,3,96,224,1,144,243,91,97,2,179,96,4,128,54,3,96,32,129,16,21,97,6,18,87,96,0,128,253,91,80,53,97,17,139,86,91,52,128,21,97,6,37,87,96,0,128,253,91,80,97,2,179,97,21,48,86,91,97,2,179,97,22,91,86,91,52,128,21,97,6,66,87,96,0,128,253,91,80,97,2,132,97,24,127,86,91,52,128,21,97,6,87,87,96,0,128,253,91,80,97,2,132,96,4,128,54,3,96,96,129,16,21,97,6,110,87,96,0,128,253,91,80,128,53,144,96,32,129,1,53,144,96,64,1,53,97,24,139,86,91,52,128,21,97,6,141,87,96,0,128,253,91,80,97,2,179,96,4,128,54,3,96,64,129,16,21,97,6,164,87,96,0,128,253,91,80,128,53,144,96,32,1,53,97,25,50,86,91,52,128,21,97,6,189,87,96,0,128,253,91,80,97,2,132,96,4,128,54,3,96,64,129,16,21,97,6,212,87,96,0,128,253,91,80,128,53,144,96,32,1,53,97,27,81,86,91,52,128,21,97,6,237,87,96,0,128,253,91,80,97,2,179,96,4,128,54,3,96,64,129,16,21,97,7,4,87,96,0,128,253,91,80,128,53,144,96,32,1,53,97,27,242,86,91,52,128,21,97,7,29,87,96,0,128,253,91,80,97,7,59,96,4,128,54,3,96,32,129,16,21,97,7,52,87,96,0,128,253,91,80,53,97,30,172,86,91,96,64,128,81,153,138,82,96,32,138,1,152,144,152,82,136,136,1,150,144,150,82,96,96,136,1,148,144,148,82,96,128,135,1,146,144,146,82,96,160,134,1,82,96,192,133,1,82,96,224,132,1,82,96,1,96,1,96,160,27,3,22,97,1,0,131,1,82,81,144,129,144,3,97,1,32,1,144,243,91,103,13,224,182,179,167,100,0,0,144,86,91,96,5,84,129,86,91,97,7,165,97,31,0,86,91,86,91,51,96,0,129,129,82,96,9,96,32,82,96,64,144,32,96,3,1,84,97,8,11,87,96,64,128,81,98,70,27,205,96,229,27,129,82,96,32,96,4,130,1,82,96,29,96,36,130,1,82,127,100,101,108,101,103,97,116,105,111,110,32,119,97,115,110,39,116,32,100,101,97,99,116,105,118,97,116,101,100,0,0,0,96,68,130,1,82,144,81,144,129,144,3,96,100,1,144,253,91,97,8,19,97,13,22,86,91,96,1,96,1,96,160,27,3,130,22,96,0,144,129,82,96,9,96,32,82,96,64,144,32,96,3,1,84,1,66,16,21,97,8,132,87,96,64,128,81,98,70,27,205,96,229,27,129,82,96,32,96,4,130,1,82,96,22,96,36,130,1,82,127,110,111,116,32,101,110,111,117,103,104,32,116,105,109,101,32,112,97,115,115,101,100,0,0,0,0,0,0,0,0,0,0,96,68,130,1,82,144,81,144,129,144,3,96,100,1,144,253,91,97,8,140,97,10,24,86,91,96,1,96,1,96,160,27,3,130,22,96,0,144,129,82,96,9,96,32,82,96,64,144,32,96,2,1,84,1,97,8,177,97,13,62,86,91,16,21,97,9,4,87,96,64,128,81,98,70,27,205,96,229,27,129,82,96,32,96,4,130,1,82,96,24,96,36,130,1,82,127,110,111,116,32,101,110,111,117,103,104,32,101,112,111,99,104,115,32,112,97,115,115,101,100,0,0,0,0,0,0,0,0,96,68,130,1,82,144,81,144,129,144,3,96,100,1,144,253,91,96,1,96,1,96,160,27,3,129,22,96,0,129,129,82,96,9,96,32,129,129,82,96,64,128,132,32,96,6,129,1,128,84,128,135,82,96,2,128,134,82,147,135,32,84,151,135,82,148,144,147,82,96,4,129,1,128,84,134,131,85,96,1,128,132,1,136,144,85,147,131,1,135,144,85,96,3,131,1,135,144,85,144,134,144,85,96,5,144,145,1,133,144,85,145,132,144,85,96,7,128,84,96,0,25,1,144,85,96,8,84,146,148,22,21,21,145,97,9,137,144,130,99,255,255,255,255,97,33,40,22,86,91,96,8,85,129,97,9,205,87,96,64,81,96,1,96,1,96,160,27,3,134,22,144,130,21,97,8,252,2,144,131,144,96,0,129,129,129,133,136,136,241,147,80,80,80,80,21,128,21,97,9,199,87,61,96,0,128,62,61,96,0,253,91,80,97,9,209,86,91,128,146,80,91,96,64,128,81,132,129,82,144,81,133,145,96,1,96,1,96,160,27,3,136,22,145,127,135,232,107,55,16,183,44,16,23,60,165,44,106,159,156,242,223,39,231,126,209,119,116,26,139,79,235,18,187,122,96,111,145,129,144,3,96,32,1,144,163,80,80,80,80,80,86,91,96,3,144,86,91,51,96,0,129,129,82,96,9,96,32,82,96,64,144,32,96,4,1,84,97,10,129,87,96,64,128,81,98,70,27,205,96,229,27,129,82,96,32,96,4,130,1,82,96,24,96,36,130,1,82,127,100,101,108,101,103,97,116,105,111,110,32,100,111,101,115,110,39,116,32,101,120,105,115,116,0,0,0,0,0,0,0,0,96,68,130,1,82,144,81,144,129,144,3,96,100,1,144,253,91,96,1,96,1,96,160,27,3,129,22,96,0,144,129,82,96,9,96,32,82,96,64,144,32,96,3,1,84,21,97,10,239,87,96,64,128,81,98,70,27,205,96,229,27,129,82,96,32,96,4,130,1,82,96,25,96,36,130,1,82,127,100,101,108,101,103,97,116,105,111,110,32,105,115,32,100,101,97,99,116,105,118,97,116,101,100,0,0,0,0,0,0,0,96,68,130,1,82,144,81,144,129,144,3,96,100,1,144,253,91,97,10,247,97,13,62,86,91,96,1,96,1,96,160,27,3,130,22,96,0,144,129,82,96,9,96,32,144,129,82,96,64,128,131,32,96,2,128,130,1,149,144,149,85,66,96,3,130,1,85,96,6,129,1,84,96,4,144,145,1,84,129,133,82,148,144,146,82,144,145,32,96,5,1,84,144,145,144,21,97,11,119,87,96,0,130,129,82,96,2,96,32,82,96,64,144,32,96,7,1,84,97,11,100,144,130,99,255,255,255,255,97,33,40,22,86,91,96,0,131,129,82,96,2,96,32,82,96,64,144,32,96,7,1,85,91,96,64,81,130,144,96,1,96,1,96,160,27,3,133,22,144,127,91,30,234,73,228,5,239,109,80,152,54,170,200,65,149,156,48,187,6,115,177,253,112,133,155,252,106,229,228,238,61,242,144,96,0,144,163,80,80,80,86,91,96,1,96,32,82,128,96,0,82,96,64,96,0,32,96,0,145,80,144,80,128,96,1,1,84,144,128,96,2,1,84,144,128,96,3,1,84,144,128,96,4,1,84,144,128,96,5,1,84,144,80,133,86,91,98,228,225,192,144,86,91,96,0,96,100,99,1,201,195,128,91,4,144,80,144,86,91,96,8,84,129,86,91,96,0,129,129,82,96,1,96,32,144,129,82,96,64,128,131,32,96,4,129,1,84,134,133,82,146,129,144,82,144,131,32,96,2,129,1,84,96,5,144,146,1,84,96,3,144,145,1,84,132,131,21,97,12,137,87,97,12,134,133,97,12,122,134,97,12,110,97,12,80,97,24,127,86,91,96,0,141,129,82,96,1,96,32,82,96,64,144,32,96,2,1,84,144,99,255,255,255,255,97,33,106,22,86,91,144,99,255,255,255,255,97,33,106,22,86,91,144,99,255,255,255,255,97,33,195,22,86,91,144,80,91,96,0,130,21,97,12,226,87,96,0,136,129,82,96,1,96,32,82,96,64,144,32,96,3,1,84,97,12,185,144,133,144,97,12,122,144,134,99,255,255,255,255,97,33,106,22,86,91,144,80,97,12,223,98,15,66,64,97,12,122,97,12,205,97,11,239,86,91,132,144,98,15,66,64,3,99,255,255,255,255,97,33,106,22,86,91,144,80,91,97,12,242,130,130,99,255,255,255,255,97,34,5,22,86,91,150,80,80,80,80,80,80,80,91,146,145,80,80,86,91,106,2,160,85,24,74,49,12,18,96,0,0,144,86,91,96,6,84,129,86,91,98,9,58,128,144,86,91,96,7,84,129,86,91,96,1,96,1,96,160,27,3,22,96,0,144,129,82,96,3,96,32,82,96,64,144,32,84,144,86,91,96,0,84,96,1,1,144,86,91,96,0,84,129,86,91,96,4,84,129,86,91,96,0,128,96,0,128,97,13,124,134,96,2,96,0,138,129,82,96,32,1,144,129,82,96,32,1,96,0,32,96,6,1,84,96,1,1,97,34,95,86,91,144,80,96,0,128,130,91,96,0,84,129,17,21,128,21,97,13,150,87,80,135,132,1,129,16,91,21,97,13,180,87,97,13,165,138,130,97,27,81,86,91,144,146,1,145,144,80,96,1,129,1,97,13,131,86,91,80,144,152,145,151,80,149,80,147,80,80,80,80,86,91,96,0,96,100,98,228,225,192,97,11,249,86,91,96,1,96,1,96,160,27,3,131,22,96,0,144,129,82,96,9,96,32,82,96,64,129,32,96,6,129,1,84,96,5,144,145,1,84,130,145,130,145,130,144,97,14,7,144,136,144,96,1,1,97,34,95,86,91,96,1,96,1,96,160,27,3,137,22,96,0,144,129,82,96,9,96,32,82,96,64,144,32,96,3,1,84,144,145,80,21,97,14,45,87,254,91,96,0,128,130,91,96,0,84,129,17,21,128,21,97,14,69,87,80,136,132,1,129,16,91,21,97,14,130,87,96,1,96,1,96,160,27,3,139,22,96,0,144,129,82,96,9,96,32,82,96,64,144,32,96,4,1,84,97,14,115,144,134,144,131,144,97,24,139,86,91,144,146,1,145,144,80,96,1,129,1,97,14,50,86,91,80,144,153,145,152,80,150,80,148,80,80,80,80,80,86,91,96,0,145,130,82,96,1,96,32,129,129,82,96,64,128,133,32,147,133,82,146,144,82,145,32,128,84,145,129,1,84,96,2,130,1,84,96,3,144,146,1,84,146,147,144,146,144,86,91,51,96,0,129,129,82,96,3,96,32,144,129,82,96,64,128,131,32,84,128,132,82,96,2,144,146,82,144,145,32,96,4,1,84,97,15,54,87,96,64,128,81,98,70,27,205,96,229,27,129,82,96,32,96,4,130,1,82,96,25,96,36,130,1,82,127,115,116,97,107,101,114,32,119,97,115,110,39,116,32,100,101,97,99,116,105,118,97,116,101,100,0,0,0,0,0,0,0,96,68,130,1,82,144,81,144,129,144,3,96,100,1,144,253,91,97,15,62,97,13,22,86,91,96,0,130,129,82,96,2,96,32,82,96,64,144,32,96,4,1,84,1,66,16,21,97,15,165,87,96,64,128,81,98,70,27,205,96,229,27,129,82,96,32,96,4,130,1,82,96,22,96,36,130,1,82,127,110,111,116,32,101,110,111,117,103,104,32,116,105,109,101,32,112,97,115,115,101,100,0,0,0,0,0,0,0,0,0,0,96,68,130,1,82,144,81,144,129,144,3,96,100,1,144,253,91,97,15,173,97,10,24,86,91,96,0,130,129,82,96,2,96,32,82,96,64,144,32,96,3,1,84,1,97,15,200,97,13,62,86,91,16,21,97,16,27,87,96,64,128,81,98,70,27,205,96,229,27,129,82,96,32,96,4,130,1,82,96,24,96,36,130,1,82,127,110,111,116,32,101,110,111,117,103,104,32,101,112,111,99,104,115,32,112,97,115,115,101,100,0,0,0,0,0,0,0,0,96,68,130,1,82,144,81,144,129,144,3,96,100,1,144,253,91,96,0,129,129,82,96,2,96,32,129,129,82,96,64,128,132,32,96,5,128,130,1,128,84,131,84,136,133,85,96,1,128,134,1,138,144,85,151,133,1,137,144,85,96,3,128,134,1,138,144,85,96,4,134,1,138,144,85,146,137,144,85,96,6,128,134,1,138,144,85,96,7,134,1,138,144,85,96,8,144,149,1,128,84,127,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,144,85,96,1,96,1,96,160,27,3,139,22,137,82,145,144,149,82,146,134,32,134,144,85,128,84,96,0,25,1,144,85,84,145,147,146,22,21,21,144,97,16,201,144,132,99,255,255,255,255,97,33,40,22,86,91,96,6,85,128,97,17,13,87,96,64,81,96,1,96,1,96,160,27,3,134,22,144,132,21,97,8,252,2,144,133,144,96,0,129,129,129,133,136,136,241,147,80,80,80,80,21,128,21,97,17,7,87,61,96,0,128,62,61,96,0,253,91,80,97,17,17,86,91,130,145,80,91,96,64,128,81,131,129,82,144,81,133,145,127,140,101,72,37,143,143,18,169,212,181,147,250,137,162,35,65,126,217,1,212,238,151,18,186,9,190,180,213,111,82,98,182,145,144,129,144,3,96,32,1,144,162,80,80,80,80,80,86,91,96,9,96,32,82,96,0,144,129,82,96,64,144,32,128,84,96,1,130,1,84,96,2,131,1,84,96,3,132,1,84,96,4,133,1,84,96,5,134,1,84,96,6,144,150,1,84,148,149,147,148,146,147,145,146,144,145,144,135,86,91,96,0,129,129,82,96,2,96,32,82,96,64,144,32,96,5,1,84,51,144,97,17,240,87,96,64,128,81,98,70,27,205,96,229,27,129,82,96,32,96,4,130,1,82,96,20,96,36,130,1,82,127,115,116,97,107,101,114,32,100,111,101,115,110,39,116,32,101,120,105,115,116,0,0,0,0,0,0,0,0,0,0,0,0,96,68,130,1,82,144,81,144,129,144,3,96,100,1,144,253,91,96,0,130,129,82,96,2,96,32,82,96,64,144,32,84,96,1,22,21,97,18,84,87,96,64,128,81,98,70,27,205,96,229,27,129,82,96,32,96,4,130,1,82,96,27,96,36,130,1,82,127,115,116,97,107,101,114,32,115,104,111,117,108,100,110,39,116,32,98,101,32,99,104,101,97,116,101,114,0,0,0,0,0,96,68,130,1,82,144,81,144,129,144,3,96,100,1,144,253,91,97,18,92,97,7,139,86,91,52,16,21,97,18,154,87,96,64,81,98,70,27,205,96,229,27,129,82,96,4,1,128,128,96,32,1,130,129,3,130,82,96,34,129,82,96,32,1,128,97,35,174,96,34,145,57,96,64,1,145,80,80,96,64,81,128,145,3,144,253,91,96,1,96,1,96,160,27,3,129,22,96,0,144,129,82,96,9,96,32,82,96,64,144,32,96,4,1,84,21,97,19,8,87,96,64,128,81,98,70,27,205,96,229,27,129,82,96,32,96,4,130,1,82,96,25,96,36,130,1,82,127,100,101,108,101,103,97,116,105,111,110,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,0,0,0,0,0,0,96,68,130,1,82,144,81,144,129,144,3,96,100,1,144,253,91,96,1,96,1,96,160,27,3,129,22,96,0,144,129,82,96,3,96,32,82,96,64,144,32,84,21,97,19,115,87,96,64,128,81,98,70,27,205,96,229,27,129,82,96,32,96,4,130,1,82,96,15,96,36,130,1,82,127,97,108,114,101,97,100,121,32,115,116,97,107,105,110,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,68,130,1,82,144,81,144,129,144,3,96,100,1,144,253,91,96,0,130,129,82,96,2,96,32,82,96,64,144,32,96,7,1,84,97,19,149,144,52,99,255,255,255,255,97,34,5,22,86,91,97,19,197,98,15,66,64,97,12,122,97,19,167,97,11,232,86,91,96,0,135,129,82,96,2,96,32,82,96,64,144,32,96,5,1,84,144,99,255,255,255,255,97,33,106,22,86,91,16,21,97,20,24,87,96,64,128,81,98,70,27,205,96,229,27,129,82,96,32,96,4,130,1,82,96,26,96,36,130,1,82,127,115,116,97,107,101,114,39,115,32,108,105,109,105,116,32,105,115,32,101,120,99,101,101,100,101,100,0,0,0,0,0,0,96,68,130,1,82,144,81,144,129,144,3,96,100,1,144,253,91,97,20,32,97,35,112,86,91,97,20,40,97,13,62,86,91,129,82,66,96,32,128,131,1,145,130,82,52,96,128,132,1,129,129,82,96,192,133,1,135,129,82,96,0,128,84,96,160,136,1,144,129,82,96,1,96,1,96,160,27,3,137,22,130,82,96,9,134,82,96,64,128,131,32,137,81,129,85,151,81,96,1,137,1,85,128,137,1,81,96,2,128,138,1,145,144,145,85,96,96,138,1,81,96,3,138,1,85,148,81,96,4,137,1,85,144,81,96,5,136,1,85,145,81,96,6,144,150,1,149,144,149,85,135,133,82,146,82,145,32,96,7,1,84,97,20,183,145,99,255,255,255,255,97,34,5,22,86,91,96,0,132,129,82,96,2,96,32,82,96,64,144,32,96,7,144,129,1,145,144,145,85,128,84,96,1,1,144,85,96,8,84,97,20,232,144,52,99,255,255,255,255,97,34,5,22,86,91,96,8,85,96,64,128,81,52,129,82,144,81,132,145,96,1,96,1,96,160,27,3,133,22,145,127,253,140,133,127,185,172,214,244,173,89,184,98,26,42,119,130,81,104,183,180,183,109,233,88,109,8,224,13,78,212,98,190,145,129,144,3,96,32,1,144,163,80,80,80,86,91,51,96,0,129,129,82,96,3,96,32,144,129,82,96,64,128,131,32,84,128,132,82,96,2,144,146,82,144,145,32,96,5,1,84,97,21,163,87,96,64,128,81,98,70,27,205,96,229,27,129,82,96,32,96,4,130,1,82,96,20,96,36,130,1,82,127,115,116,97,107,101,114,32,100,111,101,115,110,39,116,32,101,120,105,115,116,0,0,0,0,0,0,0,0,0,0,0,0,96,68,130,1,82,144,81,144,129,144,3,96,100,1,144,253,91,96,0,129,129,82,96,2,96,32,82,96,64,144,32,96,4,1,84,21,97,22,7,87,96,64,128,81,98,70,27,205,96,229,27,129,82,96,32,96,4,130,1,82,96,21,96,36,130,1,82,127,115,116,97,107,101,114,32,105,115,32,100,101,97,99,116,105,118,97,116,101,100,0,0,0,0,0,0,0,0,0,0,0,96,68,130,1,82,144,81,144,129,144,3,96,100,1,144,253,91,97,22,15,97,13,62,86,91,96,0,130,129,82,96,2,96,32,82,96,64,128,130,32,96,3,129,1,147,144,147,85,66,96,4,144,147,1,146,144,146,85,144,81,130,145,127,132,36,69,70,169,218,73,66,245,6,219,72,255,144,235,194,64,199,59,179,153,227,228,125,88,132,60,107,182,14,113,133,145,162,80,80,86,91,51,96,0,129,129,82,96,3,96,32,82,96,64,144,32,84,97,22,115,97,7,139,86,91,52,16,21,97,22,199,87,96,64,128,81,98,70,27,205,96,229,27,129,82,96,32,96,4,130,1,82,96,19,96,36,130,1,82,127,105,110,115,117,102,102,105,99,105,101,110,116,32,97,109,111,117,110,116,0,0,0,0,0,0,0,0,0,0,0,0,0,96,68,130,1,82,144,81,144,129,144,3,96,100,1,144,253,91,96,0,129,129,82,96,2,96,32,82,96,64,144,32,96,5,1,84,97,23,42,87,96,64,128,81,98,70,27,205,96,229,27,129,82,96,32,96,4,130,1,82,96,20,96,36,130,1,82,127,115,116,97,107,101,114,32,100,111,101,115,110,39,116,32,101,120,105,115,116,0,0,0,0,0,0,0,0,0,0,0,0,96,68,130,1,82,144,81,144,129,144,3,96,100,1,144,253,91,96,0,129,129,82,96,2,96,32,82,96,64,144,32,96,4,1,84,21,97,23,142,87,96,64,128,81,98,70,27,205,96,229,27,129,82,96,32,96,4,130,1,82,96,21,96,36,130,1,82,127,115,116,97,107,101,114,32,105,115,32,100,101,97,99,116,105,118,97,116,101,100,0,0,0,0,0,0,0,0,0,0,0,96,68,130,1,82,144,81,144,129,144,3,96,100,1,144,253,91,96,0,129,129,82,96,2,96,32,82,96,64,144,32,84,96,1,22,21,97,23,242,87,96,64,128,81,98,70,27,205,96,229,27,129,82,96,32,96,4,130,1,82,96,27,96,36,130,1,82,127,115,116,97,107,101,114,32,115,104,111,117,108,100,110,39,116,32,98,101,32,99,104,101,97,116,101,114,0,0,0,0,0,96,68,130,1,82,144,81,144,129,144,3,96,100,1,144,253,91,96,0,129,129,82,96,2,96,32,82,96,64,129,32,96,5,1,84,97,24,20,144,52,99,255,255,255,255,97,34,5,22,86,91,96,0,131,129,82,96,2,96,32,82,96,64,144,32,96,5,1,129,144,85,96,6,84,144,145,80,97,24,62,144,52,99,255,255,255,255,97,34,5,22,86,91,96,6,85,96,64,128,81,130,129,82,52,96,32,130,1,82,129,81,132,146,127,161,217,62,154,42,22,191,76,45,12,220,111,71,254,15,160,84,199,65,201,107,61,172,18,151,199,158,172,163,23,20,233,146,130,144,3,1,144,162,80,80,80,86,91,103,114,97,114,36,13,100,122,200,144,86,91,96,0,128,97,24,152,133,133,97,12,5,86,91,96,0,133,129,82,96,1,96,32,129,129,82,96,64,128,132,32,138,133,82,144,145,82,130,32,128,84,145,1,84,146,147,80,145,144,97,24,197,131,131,97,34,5,86,91,144,80,128,97,24,217,87,96,0,148,80,80,80,80,80,97,25,43,86,91,96,0,97,25,13,98,15,66,64,97,12,122,97,25,0,97,24,240,97,13,195,86,91,98,15,66,64,144,99,255,255,255,255,97,33,40,22,86,91,138,144,99,255,255,255,255,97,33,106,22,86,91,144,80,97,25,35,130,97,12,122,135,132,99,255,255,255,255,97,33,106,22,86,91,149,80,80,80,80,80,80,91,147,146,80,80,80,86,91,51,96,0,129,129,82,96,3,96,32,82,96,64,144,32,84,128,97,25,148,87,96,64,128,81,98,70,27,205,96,229,27,129,82,96,32,96,4,130,1,82,96,20,96,36,130,1,82,127,115,116,97,107,101,114,32,100,111,101,115,110,39,116,32,101,120,105,115,116,0,0,0,0,0,0,0,0,0,0,0,0,96,68,130,1,82,144,81,144,129,144,3,96,100,1,144,253,91,96,0,128,96,0,97,25,164,132,136,136,97,13,83,86,91,96,0,135,129,82,96,2,96,32,82,96,64,144,32,96,6,1,84,146,149,80,144,147,80,145,80,130,17,97,26,17,87,96,64,128,81,98,70,27,205,96,229,27,129,82,96,32,96,4,130,1,82,96,21,96,36,130,1,82,127,101,112,111,99,104,32,105,115,32,97,108,114,101,97,100,121,32,112,97,105,100,0,0,0,0,0,0,0,0,0,0,0,96,68,130,1,82,144,81,144,129,144,3,96,100,1,144,253,91,96,0,84,130,17,21,97,26,104,87,96,64,128,81,98,70,27,205,96,229,27,129,82,96,32,96,4,130,1,82,96,12,96,36,130,1,82,127,102,117,116,117,114,101,32,101,112,111,99,104,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,68,130,1,82,144,81,144,129,144,3,96,100,1,144,253,91,129,129,16,21,97,26,189,87,96,64,128,81,98,70,27,205,96,229,27,129,82,96,32,96,4,130,1,82,96,17,96,36,130,1,82,127,110,111,32,101,112,111,99,104,115,32,99,108,97,105,109,101,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,68,130,1,82,144,81,144,129,144,3,96,100,1,144,253,91,96,0,132,129,82,96,2,96,32,82,96,64,128,130,32,96,6,1,131,144,85,81,96,1,96,1,96,160,27,3,135,22,145,133,21,97,8,252,2,145,134,145,129,129,129,133,136,136,241,147,80,80,80,80,21,128,21,97,27,4,87,61,96,0,128,62,61,96,0,253,91,80,96,64,128,81,132,129,82,96,32,129,1,132,144,82,128,130,1,131,144,82,144,81,133,145,127,46,165,76,43,34,160,117,73,209,159,181,235,142,78,72,235,225,198,83,17,114,21,233,77,84,104,197,97,39,80,211,92,145,144,129,144,3,96,96,1,144,162,80,80,80,80,80,80,80,86,91,96,0,128,97,27,94,132,132,97,12,5,86,91,96,0,132,129,82,96,1,96,32,129,129,82,96,64,128,132,32,137,133,82,144,145,82,130,32,128,84,145,1,84,146,147,80,145,144,97,27,139,131,131,97,34,5,86,91,144,80,128,97,27,159,87,96,0,148,80,80,80,80,80,97,12,251,86,91,96,0,97,27,208,97,27,195,98,15,66,64,97,12,122,97,27,182,97,13,195,86,91,135,144,99,255,255,255,255,97,33,106,22,86,91,133,144,99,255,255,255,255,97,34,5,22,86,91,144,80,97,27,230,130,97,12,122,135,132,99,255,255,255,255,97,33,106,22,86,91,152,151,80,80,80,80,80,80,80,80,86,91,51,96,0,129,129,82,96,9,96,32,82,96,64,144,32,96,4,1,84,97,28,86,87,96,64,128,81,98,70,27,205,96,229,27,129,82,96,32,96,4,130,1,82,96,24,96,36,130,1,82,127,100,101,108,101,103,97,116,105,111,110,32,100,111,101,115,110,39,116,32,101,120,105,115,116,0,0,0,0,0,0,0,0,96,68,130,1,82,144,81,144,129,144,3,96,100,1,144,253,91,96,1,96,1,96,160,27,3,129,22,96,0,144,129,82,96,9,96,32,82,96,64,144,32,96,3,1,84,21,97,28,196,87,96,64,128,81,98,70,27,205,96,229,27,129,82,96,32,96,4,130,1,82,96,25,96,36,130,1,82,127,100,101,108,101,103,97,116,105,111,110,32,105,115,32,100,101,97,99,116,105,118,97,116,101,100,0,0,0,0,0,0,0,96,68,130,1,82,144,81,144,129,144,3,96,100,1,144,253,91,96,0,128,96,0,97,28,212,132,135,135,97,13,208,86,91,96,1,96,1,96,160,27,3,135,22,96,0,144,129,82,96,9,96,32,82,96,64,144,32,96,5,1,84,146,149,80,144,147,80,145,80,130,17,97,29,75,87,96,64,128,81,98,70,27,205,96,229,27,129,82,96,32,96,4,130,1,82,96,21,96,36,130,1,82,127,101,112,111,99,104,32,105,115,32,97,108,114,101,97,100,121,32,112,97,105,100,0,0,0,0,0,0,0,0,0,0,0,96,68,130,1,82,144,81,144,129,144,3,96,100,1,144,253,91,96,0,84,130,17,21,97,29,162,87,96,64,128,81,98,70,27,205,96,229,27,129,82,96,32,96,4,130,1,82,96,12,96,36,130,1,82,127,102,117,116,117,114,101,32,101,112,111,99,104,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,68,130,1,82,144,81,144,129,144,3,96,100,1,144,253,91,129,129,16,21,97,29,247,87,96,64,128,81,98,70,27,205,96,229,27,129,82,96,32,96,4,130,1,82,96,17,96,36,130,1,82,127,110,111,32,101,112,111,99,104,115,32,99,108,97,105,109,101,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,68,130,1,82,144,81,144,129,144,3,96,100,1,144,253,91,96,1,96,1,96,160,27,3,132,22,96,0,129,129,82,96,9,96,32,82,96,64,128,130,32,96,5,1,132,144,85,81,133,21,97,8,252,2,145,134,145,144,129,129,129,133,136,136,241,147,80,80,80,80,21,128,21,97,30,62,87,61,96,0,128,62,61,96,0,253,91,80,96,1,96,1,96,160,27,3,132,22,96,0,129,129,82,96,9,96,32,144,129,82,96,64,145,130,144,32,96,6,1,84,130,81,135,129,82,145,130,1,134,144,82,129,131,1,133,144,82,145,81,145,146,131,146,144,145,127,38,118,225,105,124,244,115,27,147,221,180,239,84,224,229,169,140,6,204,203,187,178,32,40,72,163,198,40,101,149,230,206,145,144,129,144,3,96,96,1,144,163,80,80,80,80,80,80,80,86,91,96,2,96,32,129,144,82,96,0,145,130,82,96,64,144,145,32,128,84,96,1,130,1,84,146,130,1,84,96,3,131,1,84,96,4,132,1,84,96,5,133,1,84,96,6,134,1,84,96,7,135,1,84,96,8,144,151,1,84,149,151,150,148,149,147,148,146,147,145,146,144,145,96,1,96,1,96,160,27,3,22,137,86,91,51,96,0,129,129,82,96,3,96,32,82,96,64,144,32,84,21,97,31,98,87,96,64,128,81,98,70,27,205,96,229,27,129,82,96,32,96,4,130,1,82,96,21,96,36,130,1,82,127,115,116,97,107,101,114,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,0,0,0,0,0,0,0,0,0,0,96,68,130,1,82,144,81,144,129,144,3,96,100,1,144,253,91,96,1,96,1,96,160,27,3,129,22,96,0,144,129,82,96,9,96,32,82,96,64,144,32,96,4,1,84,21,97,31,208,87,96,64,128,81,98,70,27,205,96,229,27,129,82,96,32,96,4,130,1,82,96,18,96,36,130,1,82,127,97,108,114,101,97,100,121,32,100,101,108,101,103,97,116,105,110,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,68,130,1,82,144,81,144,129,144,3,96,100,1,144,253,91,97,31,216,97,13,1,86,91,52,16,21,97,32,44,87,96,64,128,81,98,70,27,205,96,229,27,129,82,96,32,96,4,130,1,82,96,19,96,36,130,1,82,127,105,110,115,117,102,102,105,99,105,101,110,116,32,97,109,111,117,110,116,0,0,0,0,0,0,0,0,0,0,0,0,0,96,68,130,1,82,144,81,144,129,144,3,96,100,1,144,253,91,96,4,128,84,96,1,1,144,129,144,85,96,1,96,1,96,160,27,3,130,22,96,0,144,129,82,96,3,96,32,144,129,82,96,64,128,131,32,132,144,85,131,131,82,96,2,144,145,82,144,32,52,96,5,144,145,1,85,97,32,110,97,13,62,86,91,96,0,130,129,82,96,2,96,32,129,144,82,96,64,130,32,96,1,128,130,1,148,144,148,85,66,145,129,1,145,144,145,85,96,8,129,1,128,84,127,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,96,1,96,1,96,160,27,3,135,22,23,144,85,144,84,96,6,145,130,1,85,96,5,128,84,144,146,1,144,145,85,84,97,32,225,144,52,97,34,5,86,91,96,6,85,96,64,128,81,52,129,82,144,81,96,1,96,1,96,160,27,3,132,22,145,131,145,127,6,151,223,229,6,43,157,184,16,142,75,49,37,79,71,169,18,174,107,187,120,131,118,103,178,233,35,166,245,22,13,57,145,129,144,3,96,32,1,144,163,80,80,86,91,96,0,97,25,43,131,131,96,64,81,128,96,64,1,96,64,82,128,96,30,129,82,96,32,1,127,83,97,102,101,77,97,116,104,58,32,115,117,98,116,114,97,99,116,105,111,110,32,111,118,101,114,102,108,111,119,0,0,129,82,80,97,34,116,86,91,96,0,130,97,33,121,87,80,96,0,97,12,251,86,91,130,130,2,130,132,130,129,97,33,134,87,254,91,4,20,97,25,43,87,96,64,81,98,70,27,205,96,229,27,129,82,96,4,1,128,128,96,32,1,130,129,3,130,82,96,33,129,82,96,32,1,128,97,35,208,96,33,145,57,96,64,1,145,80,80,96,64,81,128,145,3,144,253,91,96,0,97,25,43,131,131,96,64,81,128,96,64,1,96,64,82,128,96,26,129,82,96,32,1,127,83,97,102,101,77,97,116,104,58,32,100,105,118,105,115,105,111,110,32,98,121,32,122,101,114,111,0,0,0,0,0,0,129,82,80,97,35,11,86,91,96,0,130,130,1,131,129,16,21,97,25,43,87,96,64,128,81,98,70,27,205,96,229,27,129,82,96,32,96,4,130,1,82,96,27,96,36,130,1,82,127,83,97,102,101,77,97,116,104,58,32,97,100,100,105,116,105,111,110,32,111,118,101,114,102,108,111,119,0,0,0,0,0,96,68,130,1,82,144,81,144,129,144,3,96,100,1,144,253,91,96,0,130,97,34,109,87,80,128,97,12,251,86,91,80,144,145,144,80,86,91,96,0,129,132,132,17,21,97,35,3,87,96,64,81,98,70,27,205,96,229,27,129,82,96,4,1,128,128,96,32,1,130,129,3,130,82,131,129,129,81,129,82,96,32,1,145,80,128,81,144,96,32,1,144,128,131,131,96,0,91,131,129,16,21,97,34,200,87,129,129,1,81,131,130,1,82,96,32,1,97,34,176,86,91,80,80,80,80,144,80,144,129,1,144,96,31,22,128,21,97,34,245,87,128,130,3,128,81,96,1,131,96,32,3,97,1,0,10,3,25,22,129,82,96,32,1,145,80,91,80,146,80,80,80,96,64,81,128,145,3,144,253,91,80,80,80,144,3,144,86,91,96,0,129,131,97,35,90,87,96,64,81,98,70,27,205,96,229,27,129,82,96,32,96,4,130,1,129,129,82,131,81,96,36,132,1,82,131,81,144,146,131,146,96,68,144,145,1,145,144,133,1,144,128,131,131,96,0,131,21,97,34,200,87,129,129,1,81,131,130,1,82,96,32,1,97,34,176,86,91,80,96,0,131,133,129,97,35,102,87,254,91,4,149,148,80,80,80,80,80,86,91,96,64,81,128,96,224,1,96,64,82,128,96,0,129,82,96,32,1,96,0,129,82,96,32,1,96,0,129,82,96,32,1,96,0,129,82,96,32,1,96,0,129,82,96,32,1,96,0,129,82,96,32,1,96,0,129,82,80,144,86,254,105,110,115,117,102,102,105,99,105,101,110,116,32,97,109,111,117,110,116,32,102,111,114,32,100,101,108,101,103,97,116,105,111,110,83,97,102,101,77,97,116,104,58,32,109,117,108,116,105,112,108,105,99,97,116,105,111,110,32,111,118,101,114,102,108,111,119,162,101,98,122,122,114,49,88,32,122,62,162,236,155,58,60,207,108,29,235,98,51,175,171,82,76,241,250,65,182,203,79,211,199,198,243,127,124,111,90,68,100,115,111,108,99,67,0,5,11,0,50

Add the uint8 array to your config.toml under

[Lachesis.Net.Genesis.Alloc.Accounts.0xfc00face00000000000000000000000000000000]

Configure the SFC

With the SFC compiled you can now include the initial validators. To create a new account simply add the account:

./lachesis account new

Take the account output and add it to the genesis accounts:

[Lachesis.Net.Genesis.Alloc.Accounts.<0xACCOUNT_NUMBER_HERE>]
Code = []
Balance = <ACCOUNT_VALUE_HERE_DECIMAL_18>
Nonce = 0

The SFC should start with a minimum of 2 validators, so create 2 accounts (on two separate nodes). Add the two created accounts addresses to [Lachesis.Net.Genesis.Alloc.GValidators.#]

[Lachesis.Net.Genesis.Alloc.GValidators.1]
ID = 1
Address = "0x7f9d1dbaf84d827b0840e38f555a490969978d20"
Stake = 10000000

[Lachesis.Net.Genesis.Alloc.GValidators.2]
ID = 2
Address = "0xfd09f0296af88ac777c137ecd92d85583a9b9e4a"
Stake = 10000000

The contract we compiled and deployed to 0xfc00face00000000000000000000000000000000 needs to have its contract storage adjusted to keep track of the above values, so add them as follows:

[Lachesis.Net.Genesis.Alloc.Accounts.0xfc00face00000000000000000000000000000000.Storage]
0x0000000000000000000000000000000000000000000000000000000000000004 = "0x0000000000000000000000000000000000000000000000000000000000000002"
0x0000000000000000000000000000000000000000000000000000000000000005 = "0x0000000000000000000000000000000000000000000000000000000000000002"
0x0000000000000000000000000000000000000000000000000000000000000006 = "0x000000000000000000000000000000000000000000000001158e460913d00000"
0x5f94552a38ae77cc6e348699c4d6f9abef30ad88d6fd860db1b3111265531bba = "0x0000000000000000000000000000000000000000000000000000000000000002"
0x60797b23ad4427fd8b7508b14e6ce69ebf54326ccd6fff0fe23a64628bce68db = "0x0000000000000000000000000000000000000000000000000000000000000001"
0x679795a0195a1b76cdebb7c51d74e058aee92919b8c3389af86ef24535e8a28d = "0x0000000000000000000000000000000000000000000000000000000000000000"
0x679795a0195a1b76cdebb7c51d74e058aee92919b8c3389af86ef24535e8a28e = "0x000000000000000000000000000000000000000000000000000000005d480140"
0x679795a0195a1b76cdebb7c51d74e058aee92919b8c3389af86ef24535e8a291 = "0x0000000000000000000000000000000000000000000000008ac7230489e80000"
0x679795a0195a1b76cdebb7c51d74e058aee92919b8c3389af86ef24535e8a294 = "0x000000000000000000000000fd09f0296af88ac777c137ecd92d85583a9b9e4a"
0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e1 = "0x0000000000000000000000000000000000000000000000000000000000000000"
0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e2 = "0x000000000000000000000000000000000000000000000000000000005d480140"
0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e5 = "0x0000000000000000000000000000000000000000000000008ac7230489e80000"
0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e8 = "0x0000000000000000000000007f9d1dbaf84d827b0840e38f555a490969978d20"

Now you can start up your 2 nodes.

Last updated

© 2024 Fantom Foundation