Prerequisite
Installed Java 8, installed Maven
Step 1: Building SDK
Build SDK components by using command (in the root of the SDK folder):
mvn clean package
. It will compile Sidechain SDK and Bootstraping tool, which are used on next steps.
Step 2: Run Bootstraping tool
Run Bootstrapping tool using command:
java -jar tools/sctool/target/sidechains-sdk-scbootstrappingtools-0.2.6.jar
All other command are performed as commands for Bootstrapping tool in next format: "command name" "parameters for command in JSON format"
.
For any help you could use command help
, for exit just print exit
Step 3: Generate keypairs for first Forger box in Sidechain
As a next step we need Vrf keypair and ed25519 keypair, those keys will be used as inputs for first Forger box in newly created Sidechain, i.e. output for Mainchain to Sidechain transaction
For generating ed25519 key use command:
generatekey {"seed":"my seed"}
Example output of newly create key pair is:
{
"publicKey": "a5b10622d70f094b7276e04608d97c7c699c8700164f78e16fe5e8082f4bb2ac",
"secret": "003868b579a763b620cabe5882dae3c39be8c84719d6c2ba4ad2ab4b0653aacd04a5b10622d70f094b7276e04608d97c7c699c8700164f78e16fe5e8082f4bb2ac"
}
For generating Vrf key use command:
generateVrfKey {"seed":"my seed"}
Example output of newly created Vrf keypair
{
"vrfPublicKey": "dd2de641154fd54de4cf60ea3f5b9e7135787ecb9fcce75de5c41f974fd0cbf70af51ba99b1b8d591d237091414051d2953b7d75e16d89be6fe1cf0bfc63a244f6f51159061875ff1922c3d923d365370ac2605c19e03d674bf64af9e91e00003a6fe5d3f1bcddf09faee1866e453f99d4491e68811bc1a7d5695955e4f8f456627f546bdbbbd026c1b6ee35e2f65659cbcd32406026ebb8f602c86d3f42499f8412dc3ebe664ce188c69360f13dddbd577513171f49423d51ff9578b159010000",
"vrfSecret": "0300000060e2408dac7d24cd8d54d3eb5cac691862fe5a656a5adc1d7e3480fb6996569f64877371a14efe10ecf87ba8c1451b1228c833b5f391c5bfa999727dd46f4eef08944f2cafe7ca01ca183976300bae46c186d68d47335b208d30202db48d250000dd2de641154fd54de4cf60ea3f5b9e7135787ecb9fcce75de5c41f974fd0cbf70af51ba99b1b8d591d237091414051d2953b7d75e16d89be6fe1cf0bfc63a244f6f51159061875ff1922c3d923d365370ac2605c19e03d674bf64af9e91e00003a6fe5d3f1bcddf09faee1866e453f99d4491e68811bc1a7d5695955e4f8f456627f546bdbbbd026c1b6ee35e2f65659cbcd32406026ebb8f602c86d3f42499f8412dc3ebe664ce188c69360f13dddbd577513171f49423d51ff9578b159010000"
}
Step 4: Generate data for proof creation and verification
Besides of inputs of first Forger box, creation of Sidechain requires data for backward transfer operations, that data could be generated by next command:
generateProofInfo {"seed":"my seed", "keyCount":7, "threshold":5}
Please pay attention: currently "keyCount"
parameter shall always pass value 7
, i.e. "keyCount":7
, also "threshold"
parameter shall be always equal or less 7
Example of output is:
{
"threshold": 5,
"verificationKey": "5e7b462cc84ae0faaa5884bd5c4a5a5edf13db210599aeeb4d273c0f5f32967b7071ce2b4d490b9f08f6ce66a8405735c79197cd6773d1c5aeb2a38da1c102df07b05879c77198e5aafa7feed25d4137e86b3d98d9edd9547a460f1615b10000ee9570fbffedd44170477b37500a0a1cb3f94b6361f10f8a68c4075fbc17542d7174b3d95e12ddb8aea5d6b6c53c1df6c8f60010cd2e69902ba5e89e86747569463a23254730fc8d2aabf39648a505df9dcce461443b181ef3eda46074070000550836db2c97820971db6b1421e348d946ed4d3f255295abea46556615e3123de33ec56f784f70302901a4bc10c79c6a8b1e32477aeff9fba75876592981b678fc5a2703ac0b3055e567a6cb1ebab578fc4f9121fd968680250696cb85790000078fcfb60bdfc79aa1e377cb120480538e0236156f23129a88824ca5a1d77e371e5e98a16e6f32087c91aa02a4f5e00e412e515c3b678f6535141203c6886c637b626a2ada4062d037503359a680979091c68941a307db6e4ed8bc49d21b00002f0e6f88fb69309873fdefb015569e5511fb5399295204876543d065d177bf36ab79183a7c5e504b50691bc5b4ed0293324cfe2555d3fc8e39485822a90a91afcd4ef79ec3aefbd4cbe25cbccd802d8334ce1dce238c3f7505330a14615500001f89fbe1922ab3aa31a28fd29e19673714a7e48050dee59859d68345bb7bee7d5e888d8b798a58d7c650f9138304c05a92b668294c6114185ccb2c67ce0bbbb7e1dcbb6d76f5cacd7c9732a33b21d69bd7a28c9cca68b5735d50413862bc0100308bb0dd0bd53f3d1134966702dd3c7cc8b58b270a6996a646493250b0d5f3978d0c971f8fa7a0c958f3efe2fa5269244973fafb701c2eb66dd25901f93d677ab6c538c1ed11f115e52d3f2c7087ea40c3e8cd089376baa38842e9429b5f0000d19a8d874d791f952f13d3c8ecd92e44009c09815e5ae6a8e5def7ea52fe3de4accfb5ba2aa401fbcec14b069cd0dc0f66ab025b45ef9831a26acf58673db7487043654e7980fcb2b6c1bd7593a4dfff810436f653e309121c7ccf2df70b010000732254ec6df184be360cd9ed383ed7c8c236d7761cfc0ce4e7f0cac5a06f4edab9cfc75a7dc1449c0e18ed9564c974c2e1b6847c637f74e5d391cbc80fc6e672ffd66b5ce4fb73bda8359ab8a0ea1e855df1e07d82f93c935c7e1a9a55c5000065efdbb7c3e82291a482b2f24cbd46f4dd02c370cf6dcfe8fb3c00b8b004b5ad51369b1f1b134a824d1f16d72ca6a27ba2d6190150329139cf2c6d9e5a14722f8d39b96b882c1f60a7b230e929819e2abe1cd9d7f3e8c726b1a94d20c8010100732c396eca6ffa1bf851cef449f2f087edd93e4f641b4bd93a482d9f129e675aedb688993d4e2cee824d2803301364ba10fbb66895927adb53bad8aefe8a1caab6f4ccb45883e414a1223ac7f90a89087cd752dfa0c7b3e19bbae000edd5000028d1d23c627d1252d2a2a20a246af2280f50e3fde667873aadd9893ba6833118358398e7428e717128f764714a8d52b090c1f554f58e25ea815338d7bc7326c949567e74f2f2ab3c88f5075fea75594608b8937c9059a42d712ffbd1bd980100000000000250c1a474689e375a309446e5cdd3a0c26cecdcff5c7b8cdc0728868983f1a35a49e3a1bae6f969c3d47356c08d3d169d2c0a2be908d82cd35f41a23d8c2924a9f790ab3a00d53061d440a176670d6a32de2ecd19cf8a9774729c09a6ea4d0100d8838bf55d95521291da12294b302c66042eda0dc2acc79360a1fdd8c9a366fa790c52bf926c2d96b5ba88a3a443487c5235f7c476f350c2101cfbe3bd0361dd291ebc5e42c097a158704b71006886a3662ca6db7d816b4ad12444835d89000000795ce2b34aef921ccb3d9b9695f5d3fe0a03743c955cfcf01f8a1815a7c8b03de85fe15201d4b4b6f401cb334a6988ea5bde8986a468c47c3c6a5ae96a3160ff15e06699ea82bd40c0d5547fe1be77af7817861bbfcca3f4232f05a9cec800006c216565cee4d57b32d2d70bb3cb8d4a967c0eb5d7137b2ec58466f3d4d3b5375e4baa823bcc29c6ad877d9708cd5dc1c31fa3883a80710431110c4aa22e97b67fa639f54e86cfab87187011270139df7873bed12f6fb8cd9ab48f389338010000",
"schnorrKeys": [
{
"schnorrPublicKey": "58fe43befcd1f5affd97aeecc0acdfc90602a8159b4a80ae3fb149bb0b76593442cc98018e0a375f7707bb8c6631b1d00e5eb30f8feb0cdbc958becff3f4f5d3ca615a8ea4ef5e81f4f8a7ae607c00a371a74bdcf4327fb51a8964240e58010039d2007fb391c3258f4e6eff24e03977e59bdc9d5fd12009d3b54b31387a4980c5e44bbe9815632633225f298f13611f58bbf06721b510d37f33e3803991cfcf8916b35e683442dae841fe44b4a82209eb841e51ab4e27a4f70b25cd6114000000",
"schnorrSecret": "0400000060b5c5edfd838b4ebc3fce921e666b534452cddc6fabaf67abab2dfb0381099eeccbb58a7d60cc1104f394780f678e387cf0b8c41c1e9766a5e464c221d2ba219b524dc19d9a6d669d2a237988d4c517e6aa7314fe00f61744f314bedbfd59010058fe43befcd1f5affd97aeecc0acdfc90602a8159b4a80ae3fb149bb0b76593442cc98018e0a375f7707bb8c6631b1d00e5eb30f8feb0cdbc958becff3f4f5d3ca615a8ea4ef5e81f4f8a7ae607c00a371a74bdcf4327fb51a8964240e58010039d2007fb391c3258f4e6eff24e03977e59bdc9d5fd12009d3b54b31387a4980c5e44bbe9815632633225f298f13611f58bbf06721b510d37f33e3803991cfcf8916b35e683442dae841fe44b4a82209eb841e51ab4e27a4f70b25cd6114000000"
},
{
"schnorrPublicKey": "e8ec4453de02b11908e98e7b10ca4b9c06484f47fbd90a0fbc19cd37cbb74e89b20607334f0e80b8741efe34d706dea81a78c78bdcf1836683d0c5d6e1e597999bc0bb4171b6e65cd67fd93ef8751b94eb9ba4a9982761b02468e228343f00001192c3cb6cca818fc5e9236752350af124cf65b09f23ffeb70df0f5533c3d9a6bb837f75b87b449b03e660f30be91eca2930947b9c6160b144d9ac783d6337a9bff088a68e315f5a686c263befe267ecf53cb0c4fd8f26a25d49ff07090b010000",
"schnorrSecret": "040000006093594ef6d378750dd068321e0cad4ab68b680d15353550a8f8c23923aaa2afcb2b8274e2857d3e420ea6c568ae321058c1389b6f6f2797cf094b2761100847639b562818e19972b681357181d1893d9718190ee76f47d29c59104312637e0000e8ec4453de02b11908e98e7b10ca4b9c06484f47fbd90a0fbc19cd37cbb74e89b20607334f0e80b8741efe34d706dea81a78c78bdcf1836683d0c5d6e1e597999bc0bb4171b6e65cd67fd93ef8751b94eb9ba4a9982761b02468e228343f00001192c3cb6cca818fc5e9236752350af124cf65b09f23ffeb70df0f5533c3d9a6bb837f75b87b449b03e660f30be91eca2930947b9c6160b144d9ac783d6337a9bff088a68e315f5a686c263befe267ecf53cb0c4fd8f26a25d49ff07090b010000"
},
{
"schnorrPublicKey": "f6a8a5a4d243229f67529236667124d02fbe8a4f8877beafe43e3a47d94e65fd571cab72cbb7005f6c53e6a42fee9a2259907783dbcd67b36cdccac4674675d92ec3ac11739042d6c0dcb0c9ec6f67aeff3fdfc42ec0e88a170ae243f2a2000075b0694b00995ca4a737c6555d5e721f447689cde8bbca80ff21037eefba98f1e1898389ec5e465b0664bd8d6dd8f1b27fabd377953369918122b15d7fcf38e1333ba787d43ca161a7afa48d782878776a53631d39d5f028f5a3ac8a828d010000",
"schnorrSecret": "040000006081558626e6665e17434f54dae894f1bbdcadf516130458bef367cb46cacef1b2abb2465ac0984149597fdcf1fcac23c6e313abcdfdbfa5581b7d2ce47288702ddbeed067b976c3d99092d9d0323cbf24de644558c7cd91b81aede0a87a980100f6a8a5a4d243229f67529236667124d02fbe8a4f8877beafe43e3a47d94e65fd571cab72cbb7005f6c53e6a42fee9a2259907783dbcd67b36cdccac4674675d92ec3ac11739042d6c0dcb0c9ec6f67aeff3fdfc42ec0e88a170ae243f2a2000075b0694b00995ca4a737c6555d5e721f447689cde8bbca80ff21037eefba98f1e1898389ec5e465b0664bd8d6dd8f1b27fabd377953369918122b15d7fcf38e1333ba787d43ca161a7afa48d782878776a53631d39d5f028f5a3ac8a828d010000"
},
{
"schnorrPublicKey": "5aac00ba50c0689efd6d03a5deca5b57e2ff8cc626d90ac8c98915efd12b0f9d8f584693286f0d721fdb48cdbe41b677ed024858fba641af0546dc0dabbe453e72f2f601658aa473b623651b8f5537ee554b4b94e7b7e3b971fdb726e8820100d4bbe53a1e8f5a57676e31fd77e48cd134f2ccacd9c65aa93b0ed706ae1d740236d995035ab42b19510c35f87119c05a3c3aca8ba64901119f484591df121f7d2cfc5809c753f559aef6b09ddc45004f18f94bbee95e52c7d7c386bc457c010000",
"schnorrSecret": "0400000060f28a7917f1809e3915898fbe6b757bb6015582285f64b8c1ba41e961496e05d00cf8c9866eb573501ed83d6b8874342b6c7ced57a0bbb4cc083737f102d23ded6f6be6cb74ba23c5408f1c90006b4286c2b59eae4dc0eb1ab87b2dae459a01005aac00ba50c0689efd6d03a5deca5b57e2ff8cc626d90ac8c98915efd12b0f9d8f584693286f0d721fdb48cdbe41b677ed024858fba641af0546dc0dabbe453e72f2f601658aa473b623651b8f5537ee554b4b94e7b7e3b971fdb726e8820100d4bbe53a1e8f5a57676e31fd77e48cd134f2ccacd9c65aa93b0ed706ae1d740236d995035ab42b19510c35f87119c05a3c3aca8ba64901119f484591df121f7d2cfc5809c753f559aef6b09ddc45004f18f94bbee95e52c7d7c386bc457c010000"
},
{
"schnorrPublicKey": "6e0ff3edf1df22a6ed11f326ca761852a62fbed91eb8afdaad8693c99d611b85121169f08f23674ac8d91ce63ecff7ff1745e4fe7eac3cb6ef0019cb2e0103291b5d4ea5a9affea04fdcd3a22dc4ba094838ebb9db22e3e8d44cb1c378810100794ec69869bcde139f542cfef77d43ff423fca55c166c00e159f37a44c14a0153fee48e0a069308bd4b473edc6a2684cab2999c8fbad29f78eb80f584e3758e686cb9284693087fe08bd2aae467470ba2c4856e78fbd81364e4062000004010000",
"schnorrSecret": "0400000060858b0dcb616773ca66d6d5df476add695e17a37c2987522467ecb5f472cd8729f7537f3578a7f7bacdbaec1294b2b55ad419c3e7772cb457dbe22a8aabece5caa37bde2d85d3f80944c8b28196837b1f042abb92fb30db6cf1b3d287388900006e0ff3edf1df22a6ed11f326ca761852a62fbed91eb8afdaad8693c99d611b85121169f08f23674ac8d91ce63ecff7ff1745e4fe7eac3cb6ef0019cb2e0103291b5d4ea5a9affea04fdcd3a22dc4ba094838ebb9db22e3e8d44cb1c378810100794ec69869bcde139f542cfef77d43ff423fca55c166c00e159f37a44c14a0153fee48e0a069308bd4b473edc6a2684cab2999c8fbad29f78eb80f584e3758e686cb9284693087fe08bd2aae467470ba2c4856e78fbd81364e4062000004010000"
},
{
"schnorrPublicKey": "3f523ffb46ae1da4a9799e326138b83e73b1c4567b087d77564c744177d111587e1fa56bd8592728f1334d7bf5a0207bc2fe655db13df2f5c3c5eb4dc9ef68bf917a67f7e01bd762f1e1aecc5a574072de269f8217b53b2d978fbd2dd8990100a16a1599721978c60d43426c6e1bf0c80d7351a5514e44cce9ee813a55e57b9e3423142eb29941bd6063c5c8c04ecc522d211b3f342fa73f11d4dbd46674a5b546342245e59fc2041c87b759815ae6b50fbf7b082e52b1757318a5da2714000000",
"schnorrSecret": "0400000060db07bc179f7836edacbaa2f43a1819933d6b05729a5e5cd62ae27b56bebfd42ff1a346aa04aa4829682e41e5d38c1b35c4de33d19077cba0f6f4c54cf82b8a76d0f4d590f399a82989868621e583a50f30922a79fe9b41614a8a3551dda800003f523ffb46ae1da4a9799e326138b83e73b1c4567b087d77564c744177d111587e1fa56bd8592728f1334d7bf5a0207bc2fe655db13df2f5c3c5eb4dc9ef68bf917a67f7e01bd762f1e1aecc5a574072de269f8217b53b2d978fbd2dd8990100a16a1599721978c60d43426c6e1bf0c80d7351a5514e44cce9ee813a55e57b9e3423142eb29941bd6063c5c8c04ecc522d211b3f342fa73f11d4dbd46674a5b546342245e59fc2041c87b759815ae6b50fbf7b082e52b1757318a5da2714000000"
},
{
"schnorrPublicKey": "2214caf1355f9373da39bd5e0f6395e62851e76e1cdfc53d67db5927d15a90182ed1122d6eedda9b10ffca34da2b8e5da527d243f6bbff53fc1f29a973369dcffc442d74e2b678e4379f9a4b21b4c54f2a08e5ef230abcd494342c6187b9000041c20e01c40ef7602c1748d1368c74521ac92b4e813a0ad9fa15d15d5b8b23d91d492e127e6e54bdc3dc24ae9c869d20369b5c19e3b48778219cccc6b136014efa8e2ba8fffa893af422ed54ef803633d58a2c0dba2158666c317a824eea000000",
"schnorrSecret": "0400000060b0a45e7a26052f0701a99a6ea38259723fc98df005069d439b2b108b49e4265c6c15fc980c89f199a7b7574c3371582584358520d614bdc8e5483a2f72a7f3207da09c0e926e760822cb90f089056e0c2dddceec458ea35636ecb56d265c01002214caf1355f9373da39bd5e0f6395e62851e76e1cdfc53d67db5927d15a90182ed1122d6eedda9b10ffca34da2b8e5da527d243f6bbff53fc1f29a973369dcffc442d74e2b678e4379f9a4b21b4c54f2a08e5ef230abcd494342c6187b9000041c20e01c40ef7602c1748d1368c74521ac92b4e813a0ad9fa15d15d5b8b23d91d492e127e6e54bdc3dc24ae9c869d20369b5c19e3b48778219cccc6b136014efa8e2ba8fffa893af422ed54ef803633d58a2c0dba2158666c317a824eea000000"
}
],
"genSysConstant": "b866a7695601aa41cb7775ed16208d0f79e8c19376d99b3cbab937f3a271a7347a9eceab34d14ddcd0aa7936869cc620d5f5a8a44c78a0fc621edfc69e2751ad4192fd57a57eb5d8e798bd15773b20a29cd260755b6c5ec7b051ecd4685e0100"
}
(current value of "verificationKey" is hardcoded and always returns the same value of the file sdk/src/test/resources/sample_vk_7_keys_with_threshold_5
).
Save all outputs from previous steps and type exit
for exit from Bootstrapping tool
Step 5: Clone and compile zen node Compile MC sources with SC support code:
- Clone Horizen core repository - https://github.com/HorizenOfficial/zend_oo/
- Switch to the SC suport branch -
sidechains_testnet
- Build the Core for your platform using the guides in the repo.
Note: The MC branch specified a separate Testnet configuration that supports Sidechains and CCTP logic.
Step 6: Setup local zen node
Run zen node for regtest network:
zend.exe -regtest -websocket
.
Generate 220 block to enable Sidechain logic (otherwise sidechain can't be created):
$ ./zen-cli -regtest generate 220
As a result id of generated blocks are printed:
[
"08371bc5df88176872c58d9b4318b247801a736d0c13a33c6e09cf70cb91d5de",
"09c39ef2e1ecc53dcf4020cc56b2ab2c0d8a781e05d04e3064001ed2aa5ceca1",
...
"0250078ae99bc6d053cb96f541f59d29cb80e38afdc87338d43b93099531dd38"
]
Step 7: Sidechain declaration in a Mainchain node
Declare a SC by next command:
$ ./zen-cli -regtest sc_create 10 "a5b10622d70f094b7276e04608d97c7c699c8700164f78e16fe5e8082f4bb2ac" 100 "5e7b462cc84ae0faaa5884bd5c4a5a5edf13db210599aeeb4d273c0f5f32967b7071ce2b4d490b9f08f6ce66a8405735c79197cd6773d1c5aeb2a38da1c102df07b05879c77198e5aafa7feed25d4137e86b3d98d9edd9547a460f1615b10000ee9570fbffedd44170477b37500a0a1cb3f94b6361f10f8a68c4075fbc17542d7174b3d95e12ddb8aea5d6b6c53c1df6c8f60010cd2e69902ba5e89e86747569463a23254730fc8d2aabf39648a505df9dcce461443b181ef3eda46074070000550836db2c97820971db6b1421e348d946ed4d3f255295abea46556615e3123de33ec56f784f70302901a4bc10c79c6a8b1e32477aeff9fba75876592981b678fc5a2703ac0b3055e567a6cb1ebab578fc4f9121fd968680250696cb85790000078fcfb60bdfc79aa1e377cb120480538e0236156f23129a88824ca5a1d77e371e5e98a16e6f32087c91aa02a4f5e00e412e515c3b678f6535141203c6886c637b626a2ada4062d037503359a680979091c68941a307db6e4ed8bc49d21b00002f0e6f88fb69309873fdefb015569e5511fb5399295204876543d065d177bf36ab79183a7c5e504b50691bc5b4ed0293324cfe2555d3fc8e39485822a90a91afcd4ef79ec3aefbd4cbe25cbccd802d8334ce1dce238c3f7505330a14615500001f89fbe1922ab3aa31a28fd29e19673714a7e48050dee59859d68345bb7bee7d5e888d8b798a58d7c650f9138304c05a92b668294c6114185ccb2c67ce0bbbb7e1dcbb6d76f5cacd7c9732a33b21d69bd7a28c9cca68b5735d50413862bc0100308bb0dd0bd53f3d1134966702dd3c7cc8b58b270a6996a646493250b0d5f3978d0c971f8fa7a0c958f3efe2fa5269244973fafb701c2eb66dd25901f93d677ab6c538c1ed11f115e52d3f2c7087ea40c3e8cd089376baa38842e9429b5f0000d19a8d874d791f952f13d3c8ecd92e44009c09815e5ae6a8e5def7ea52fe3de4accfb5ba2aa401fbcec14b069cd0dc0f66ab025b45ef9831a26acf58673db7487043654e7980fcb2b6c1bd7593a4dfff810436f653e309121c7ccf2df70b010000732254ec6df184be360cd9ed383ed7c8c236d7761cfc0ce4e7f0cac5a06f4edab9cfc75a7dc1449c0e18ed9564c974c2e1b6847c637f74e5d391cbc80fc6e672ffd66b5ce4fb73bda8359ab8a0ea1e855df1e07d82f93c935c7e1a9a55c5000065efdbb7c3e82291a482b2f24cbd46f4dd02c370cf6dcfe8fb3c00b8b004b5ad51369b1f1b134a824d1f16d72ca6a27ba2d6190150329139cf2c6d9e5a14722f8d39b96b882c1f60a7b230e929819e2abe1cd9d7f3e8c726b1a94d20c8010100732c396eca6ffa1bf851cef449f2f087edd93e4f641b4bd93a482d9f129e675aedb688993d4e2cee824d2803301364ba10fbb66895927adb53bad8aefe8a1caab6f4ccb45883e414a1223ac7f90a89087cd752dfa0c7b3e19bbae000edd5000028d1d23c627d1252d2a2a20a246af2280f50e3fde667873aadd9893ba6833118358398e7428e717128f764714a8d52b090c1f554f58e25ea815338d7bc7326c949567e74f2f2ab3c88f5075fea75594608b8937c9059a42d712ffbd1bd980100000000000250c1a474689e375a309446e5cdd3a0c26cecdcff5c7b8cdc0728868983f1a35a49e3a1bae6f969c3d47356c08d3d169d2c0a2be908d82cd35f41a23d8c2924a9f790ab3a00d53061d440a176670d6a32de2ecd19cf8a9774729c09a6ea4d0100d8838bf55d95521291da12294b302c66042eda0dc2acc79360a1fdd8c9a366fa790c52bf926c2d96b5ba88a3a443487c5235f7c476f350c2101cfbe3bd0361dd291ebc5e42c097a158704b71006886a3662ca6db7d816b4ad12444835d89000000795ce2b34aef921ccb3d9b9695f5d3fe0a03743c955cfcf01f8a1815a7c8b03de85fe15201d4b4b6f401cb334a6988ea5bde8986a468c47c3c6a5ae96a3160ff15e06699ea82bd40c0d5547fe1be77af7817861bbfcca3f4232f05a9cec800006c216565cee4d57b32d2d70bb3cb8d4a967c0eb5d7137b2ec58466f3d4d3b5375e4baa823bcc29c6ad877d9708cd5dc1c31fa3883a80710431110c4aa22e97b67fa639f54e86cfab87187011270139df7873bed12f6fb8cd9ab48f389338010000" "dd2de641154fd54de4cf60ea3f5b9e7135787ecb9fcce75de5c41f974fd0cbf70af51ba99b1b8d591d237091414051d2953b7d75e16d89be6fe1cf0bfc63a244f6f51159061875ff1922c3d923d365370ac2605c19e03d674bf64af9e91e00003a6fe5d3f1bcddf09faee1866e453f99d4491e68811bc1a7d5695955e4f8f456627f546bdbbbd026c1b6ee35e2f65659cbcd32406026ebb8f602c86d3f42499f8412dc3ebe664ce188c69360f13dddbd577513171f49423d51ff9578b159010000" "b866a7695601aa41cb7775ed16208d0f79e8c19376d99b3cbab937f3a271a7347a9eceab34d14ddcd0aa7936869cc620d5f5a8a44c78a0fc621edfc69e2751ad4192fd57a57eb5d8e798bd15773b20a29cd260755b6c5ec7b051ecd4685e0100"
As a result id of the transaction and id of the sidechain will be printed:
{
"txid": "9e4676274f1ff9b3164de6e0d6492c4dfc1d564b0243a36208c6b7fe848f9d21",
"scid": "2f7ed2e07ad78e52f43aafb85e242497f5a1da3539ecf37832a0a31ed54072c3",
}
Parameters for sc_create
are:
- Length of the withdrawal epoch (
10
) - how often (in Mainchain blocks size) backward transfers from sidechain to mainchain could be done - Address to transfer initial coins amount (
"a5b...2ac"
) - It is public key was generated bygeneratekey
command on step 3 - Initial coins amount (
100
) - Verification key from step 4 (
"5e7...000"
) - That key is used for verifying backward transfers, verification file shall contains that key in byte form - Vrf public key (
"dd2...000"
) - that key was generated bygenerateVrfKey
command on step 3 - GenSysConstant (
"b86...000"
) - it was generated on step 4
Sidechain id will be generated automatically.
Step 8: Apply Sidechain declaration in a Mainchain node
Sidechain creation transaction now in memory pool of Mainchain node, thus Sidechain is prepared, but not created yet. For creating new Sidechain Sidechain creation transaction shall be put into Mainchain block. To do it generate 1 more block:
$ ./zen-cli -regtest generate 1
As a result id of block with Sidechain transaction will be printed:
[
"0dcde8ccf8562988b99276f4dd9e78bd4aa63a59acef65c0c6aafed21f9bd098"
]
Now mainchain contains created Sidechain.
Step 9: Get information from mainchain for forming genesis Sidechain block Sidechain now is created in mainchain, but for starting Sidechain genesis Sidechain block shall be formed and put to configuration file, as well as some additional parameters. Genesis info for further using in ScBootstrappingTool could be extracted by next command:
$ ./zen-cli -regtest getscgenesisinfo 2f7ed2e07ad78e52f43aafb85e242497f5a1da3539ecf37832a0a31ed54072c3
Where "2f7...2c3"
is Sidechain id from step 6. As a result we get byte sequence which will be passed to Bootstrap tool.
Example output:
02c37240d51ea3a03278f3ec3935daa1f59724245eb8af3af4528ed77ae0d27e2f1cc149e35e030f0f20c149e35e030f0f20c049e35e030f0f20c049e35e030f0f20c049e35e030f0f20c049e35e030f0f20c049e35e030f0f20c049e35e030f0f20bf49e35e030f0f20bf49e35e030f0f20bf49e35e030f0f20bf49e35e030f0f20bf49e35e030f0f20bf49e35e030f0f20be49e35e030f0f20be49e35e040f0f20be49e35e040f0f20be49e35e040f0f20be49e35e040f0f20be49e35e040f0f20bd49e35e040f0f20bd49e35e040f0f20bd49e35e040f0f20bd49e35e040f0f20bd49e35e040f0f20bd49e35e040f0f20bc49e35e040f0f20bc49e35e040f0f20dc000000030000001b199ec4516c4b6021363cd73dcadd5382a1281de6291a46d8a0a6b01a4d490529707a00647aac4ba0f00f64b3b46f6f2d496a030cc23b5808ad78d1fa3606d73622107ce90ea52de0b1b5896459f9b41d0b83076920494643229a5d320a78e6c149e35e030f0f202200b5e4f98dd21ec442183f8bc8ec9a2e483da99e3a773c50390302d7570000240140d14c11a99d48f9244edc0f735729897402236d7a82d9b63fb519d04ab512a2bb39b20201000000010000000000000000000000000000000000000000000000000000000000000000ffffffff0502dc000101ffffffff045724b42c000000001976a914a6dcdfc99033d07beb459e5d14fc903296e0cc6e88ac80b2e60e0000000017a914b6863b182a52745bf6d5fb190139a2aa876c08f587405973070000000017a914b6863b182a52745bf6d5fb190139a2aa876c08f587405973070000000017a914b6863b182a52745bf6d5fb190139a2aa876c08f58700000000fcffffff09174cdf38ee44a2d9ea76363c5f121afadc69dfc7d9d0c4ab0e35e6970eb99108000000006a4730440220612dba5d3968c27a9d162863f4a30d0ee597e3d1628da6a854fd3020eef66a67022034a37a3fa5f1fecd587e74a3f5d3d9f86af1e4abece4ed4c24bf106d3b0d1c0b012102f0801da5b557dde40d9bd022362ef99752919517cd4ce5964dcada9175a1e8b5feffffff64a2205070fe9747fb641b1614027b8bf1fa18a95cc808b05cb5206dc27e66ca000000006b48304502210093a89f7818dd71469ba6d2427f6a7cd59a8502d94b4c90f3eba88e722e1e94c302207625ae9a3c1a5ddb7ade8ade70eb89d772743fcb3b4e79af43bb24b9c66d104e012102f0801da5b557dde40d9bd022362ef99752919517cd4ce5964dcada9175a1e8b5feffffffe8ac048bfa7286d87756857d4d3a78291cba719c63a32c070982a5fc2d226e1c000000006a473044022038c5996d46c02269d435db49201ec6dc371e2fe873c258a6fe768bf71ffd00fc02200413e4610c064bbbac529f8d3bb68f118814b00cf6d362af2a866535e149ffc3012102f0801da5b557dde40d9bd022362ef99752919517cd4ce5964dcada9175a1e8b5feffffff9c1192ad64c623a0e30edf4cc38e8122f5b47f0c5ce954555999bbcc6d54cb84000000006b483045022100c61768c9315bc074dc089bb74002e2e63cf92b22b6acf9e6200a43bb755825e8022008570a0e68a2bd4da4fee3686efff28a5e65902924571ace2475e256fa23f15e012102f0801da5b557dde40d9bd022362ef99752919517cd4ce5964dcada9175a1e8b5feffffff04d9f29d257d289b5693a0da5bf9c01e620b4de046b918f92b22ec3ae2c166fd000000006a4730440220156bc610578fb1c5f8da019760a24c0634e3536225ec4b7f6aa89ad8c56a72f602202034a699c347baaaed72fbbe8f9cb453d9d72fa1e44e2623c6e19ddf0a92da6a012102f0801da5b557dde40d9bd022362ef99752919517cd4ce5964dcada9175a1e8b5feffffff97c2f86e46e775b320e22630dbe84e7a04f5103bb1b7f54797bd76ba843ca44e000000006a473044022071b9c641218c8153e855615996803cd0885dc7b0826b1aab3cb4c4c9be638f64022064c3e1a5b22ce38ae566c1f73924666b49876e06c283529a8875d9e74be0300c012102f0801da5b557dde40d9bd022362ef99752919517cd4ce5964dcada9175a1e8b5feffffffd1d57576ba121a45e4ad340975abdebf24d0d0dab85dd17440d78aaf13cc0b38000000006a47304402202fd572e2c941feb8710283a6e95a8d39964f01873cf7506dcdc828d914ac4f4302204d0b6bcf9d05e902e9a05cc96d41c2a19af0bf1055177f8e1111b2a8e2e5de2b012102f0801da5b557dde40d9bd022362ef99752919517cd4ce5964dcada9175a1e8b5feffffffce4e0c6cd8f1c1b2ab2350d72383aaefe8d925128b126d40d7ef346910a6ea8a000000006a47304402205e2bd14ea3787febea21803a135a882b553fff7758fc2370af8055c1694d8ba3022034382608166beaa057324ecdaa0f6747022f2e0f7f2b3539426b5f62440beb67012102f0801da5b557dde40d9bd022362ef99752919517cd4ce5964dcada9175a1e8b5feffffff3d71485da571aacb77f33117e4aa59cf02eec6ad38210c110ca09e9258df1b33000000006b48304502210084dcc8d11fba1b4b2c2b74cca2128b40bdc563ed00a2d725144117b7f3b29c34022074edb63dd8422649237d421e32b6aa3d8db75c0f8bcdf3a809ea1b003621de96012102f0801da5b557dde40d9bd022362ef99752919517cd4ce5964dcada9175a1e8b5feffffff01696b7d01000000003c76a9144129792b8ec0606c8ddb53a8c011f257dd2292e288ac20bb1acf2c1fc1228967a611c7db30632098f0c641855180b5fe23793b72eea50d00b4010a00000000e40b5402000000acb24b2f08e8e56fe1784f1600879c697c7cd90846e076724b090fd72206b1a5c1dd2de641154fd54de4cf60ea3f5b9e7135787ecb9fcce75de5c41f974fd0cbf70af51ba99b1b8d591d237091414051d2953b7d75e16d89be6fe1cf0bfc63a244f6f51159061875ff1922c3d923d365370ac2605c19e03d674bf64af9e91e00003a6fe5d3f1bcddf09faee1866e453f99d4491e68811bc1a7d5695955e4f8f456627f546bdbbbd026c1b6ee35e2f65659cbcd32406026ebb8f602c86d3f42499f8412dc3ebe664ce188c69360f13dddbd577513171f49423d51ff9578b15901000060b866a7695601aa41cb7775ed16208d0f79e8c19376d99b3cbab937f3a271a7347a9eceab34d14ddcd0aa7936869cc620d5f5a8a44c78a0fc621edfc69e2751ad4192fd57a57eb5d8e798bd15773b20a29cd260755b6c5ec7b051ecd4685e01005e7b462cc84ae0faaa5884bd5c4a5a5edf13db210599aeeb4d273c0f5f32967b7071ce2b4d490b9f08f6ce66a8405735c79197cd6773d1c5aeb2a38da1c102df07b05879c77198e5aafa7feed25d4137e86b3d98d9edd9547a460f1615b10000ee9570fbffedd44170477b37500a0a1cb3f94b6361f10f8a68c4075fbc17542d7174b3d95e12ddb8aea5d6b6c53c1df6c8f60010cd2e69902ba5e89e86747569463a23254730fc8d2aabf39648a505df9dcce461443b181ef3eda46074070000550836db2c97820971db6b1421e348d946ed4d3f255295abea46556615e3123de33ec56f784f70302901a4bc10c79c6a8b1e32477aeff9fba75876592981b678fc5a2703ac0b3055e567a6cb1ebab578fc4f9121fd968680250696cb85790000078fcfb60bdfc79aa1e377cb120480538e0236156f23129a88824ca5a1d77e371e5e98a16e6f32087c91aa02a4f5e00e412e515c3b678f6535141203c6886c637b626a2ada4062d037503359a680979091c68941a307db6e4ed8bc49d21b00002f0e6f88fb69309873fdefb015569e5511fb5399295204876543d065d177bf36ab79183a7c5e504b50691bc5b4ed0293324cfe2555d3fc8e39485822a90a91afcd4ef79ec3aefbd4cbe25cbccd802d8334ce1dce238c3f7505330a14615500001f89fbe1922ab3aa31a28fd29e19673714a7e48050dee59859d68345bb7bee7d5e888d8b798a58d7c650f9138304c05a92b668294c6114185ccb2c67ce0bbbb7e1dcbb6d76f5cacd7c9732a33b21d69bd7a28c9cca68b5735d50413862bc0100308bb0dd0bd53f3d1134966702dd3c7cc8b58b270a6996a646493250b0d5f3978d0c971f8fa7a0c958f3efe2fa5269244973fafb701c2eb66dd25901f93d677ab6c538c1ed11f115e52d3f2c7087ea40c3e8cd089376baa38842e9429b5f0000d19a8d874d791f952f13d3c8ecd92e44009c09815e5ae6a8e5def7ea52fe3de4accfb5ba2aa401fbcec14b069cd0dc0f66ab025b45ef9831a26acf58673db7487043654e7980fcb2b6c1bd7593a4dfff810436f653e309121c7ccf2df70b010000732254ec6df184be360cd9ed383ed7c8c236d7761cfc0ce4e7f0cac5a06f4edab9cfc75a7dc1449c0e18ed9564c974c2e1b6847c637f74e5d391cbc80fc6e672ffd66b5ce4fb73bda8359ab8a0ea1e855df1e07d82f93c935c7e1a9a55c5000065efdbb7c3e82291a482b2f24cbd46f4dd02c370cf6dcfe8fb3c00b8b004b5ad51369b1f1b134a824d1f16d72ca6a27ba2d6190150329139cf2c6d9e5a14722f8d39b96b882c1f60a7b230e929819e2abe1cd9d7f3e8c726b1a94d20c8010100732c396eca6ffa1bf851cef449f2f087edd93e4f641b4bd93a482d9f129e675aedb688993d4e2cee824d2803301364ba10fbb66895927adb53bad8aefe8a1caab6f4ccb45883e414a1223ac7f90a89087cd752dfa0c7b3e19bbae000edd5000028d1d23c627d1252d2a2a20a246af2280f50e3fde667873aadd9893ba6833118358398e7428e717128f764714a8d52b090c1f554f58e25ea815338d7bc7326c949567e74f2f2ab3c88f5075fea75594608b8937c9059a42d712ffbd1bd980100000000000250c1a474689e375a309446e5cdd3a0c26cecdcff5c7b8cdc0728868983f1a35a49e3a1bae6f969c3d47356c08d3d169d2c0a2be908d82cd35f41a23d8c2924a9f790ab3a00d53061d440a176670d6a32de2ecd19cf8a9774729c09a6ea4d0100d8838bf55d95521291da12294b302c66042eda0dc2acc79360a1fdd8c9a366fa790c52bf926c2d96b5ba88a3a443487c5235f7c476f350c2101cfbe3bd0361dd291ebc5e42c097a158704b71006886a3662ca6db7d816b4ad12444835d89000000795ce2b34aef921ccb3d9b9695f5d3fe0a03743c955cfcf01f8a1815a7c8b03de85fe15201d4b4b6f401cb334a6988ea5bde8986a468c47c3c6a5ae96a3160ff15e06699ea82bd40c0d5547fe1be77af7817861bbfcca3f4232f05a9cec800006c216565cee4d57b32d2d70bb3cb8d4a967c0eb5d7137b2ec58466f3d4d3b5375e4baa823bcc29c6ad877d9708cd5dc1c31fa3883a80710431110c4aa22e97b67fa639f54e86cfab87187011270139df7873bed12f6fb8cd9ab48f389338010000007500000000
Step 10: forming Sidechain genesis block in hex string form by Bootstraping tool
Run again the Bootstrapping tool and execute the genesisinfo
command with next parameters:
"info": "02c...000"
is output from step 9"secret": "003...2ac"
any key (included one generated on step 3)"vrfSecret": "030...000"
any Vrf key (included one generated on step 3)
Example:
genesisinfo {"info": "02c37240d51ea3a03278f3ec3935daa1f59724245eb8af3af4528ed77ae0d27e2f1cc149e35e030f0f20c149e35e030f0f20c049e35e030f0f20c049e35e030f0f20c049e35e030f0f20c049e35e030f0f20c049e35e030f0f20c049e35e030f0f20bf49e35e030f0f20bf49e35e030f0f20bf49e35e030f0f20bf49e35e030f0f20bf49e35e030f0f20bf49e35e030f0f20be49e35e030f0f20be49e35e040f0f20be49e35e040f0f20be49e35e040f0f20be49e35e040f0f20be49e35e040f0f20bd49e35e040f0f20bd49e35e040f0f20bd49e35e040f0f20bd49e35e040f0f20bd49e35e040f0f20bd49e35e040f0f20bc49e35e040f0f20bc49e35e040f0f20dc000000030000001b199ec4516c4b6021363cd73dcadd5382a1281de6291a46d8a0a6b01a4d490529707a00647aac4ba0f00f64b3b46f6f2d496a030cc23b5808ad78d1fa3606d73622107ce90ea52de0b1b5896459f9b41d0b83076920494643229a5d320a78e6c149e35e030f0f202200b5e4f98dd21ec442183f8bc8ec9a2e483da99e3a773c50390302d7570000240140d14c11a99d48f9244edc0f735729897402236d7a82d9b63fb519d04ab512a2bb39b20201000000010000000000000000000000000000000000000000000000000000000000000000ffffffff0502dc000101ffffffff045724b42c000000001976a914a6dcdfc99033d07beb459e5d14fc903296e0cc6e88ac80b2e60e0000000017a914b6863b182a52745bf6d5fb190139a2aa876c08f587405973070000000017a914b6863b182a52745bf6d5fb190139a2aa876c08f587405973070000000017a914b6863b182a52745bf6d5fb190139a2aa876c08f58700000000fcffffff09174cdf38ee44a2d9ea76363c5f121afadc69dfc7d9d0c4ab0e35e6970eb99108000000006a4730440220612dba5d3968c27a9d162863f4a30d0ee597e3d1628da6a854fd3020eef66a67022034a37a3fa5f1fecd587e74a3f5d3d9f86af1e4abece4ed4c24bf106d3b0d1c0b012102f0801da5b557dde40d9bd022362ef99752919517cd4ce5964dcada9175a1e8b5feffffff64a2205070fe9747fb641b1614027b8bf1fa18a95cc808b05cb5206dc27e66ca000000006b48304502210093a89f7818dd71469ba6d2427f6a7cd59a8502d94b4c90f3eba88e722e1e94c302207625ae9a3c1a5ddb7ade8ade70eb89d772743fcb3b4e79af43bb24b9c66d104e012102f0801da5b557dde40d9bd022362ef99752919517cd4ce5964dcada9175a1e8b5feffffffe8ac048bfa7286d87756857d4d3a78291cba719c63a32c070982a5fc2d226e1c000000006a473044022038c5996d46c02269d435db49201ec6dc371e2fe873c258a6fe768bf71ffd00fc02200413e4610c064bbbac529f8d3bb68f118814b00cf6d362af2a866535e149ffc3012102f0801da5b557dde40d9bd022362ef99752919517cd4ce5964dcada9175a1e8b5feffffff9c1192ad64c623a0e30edf4cc38e8122f5b47f0c5ce954555999bbcc6d54cb84000000006b483045022100c61768c9315bc074dc089bb74002e2e63cf92b22b6acf9e6200a43bb755825e8022008570a0e68a2bd4da4fee3686efff28a5e65902924571ace2475e256fa23f15e012102f0801da5b557dde40d9bd022362ef99752919517cd4ce5964dcada9175a1e8b5feffffff04d9f29d257d289b5693a0da5bf9c01e620b4de046b918f92b22ec3ae2c166fd000000006a4730440220156bc610578fb1c5f8da019760a24c0634e3536225ec4b7f6aa89ad8c56a72f602202034a699c347baaaed72fbbe8f9cb453d9d72fa1e44e2623c6e19ddf0a92da6a012102f0801da5b557dde40d9bd022362ef99752919517cd4ce5964dcada9175a1e8b5feffffff97c2f86e46e775b320e22630dbe84e7a04f5103bb1b7f54797bd76ba843ca44e000000006a473044022071b9c641218c8153e855615996803cd0885dc7b0826b1aab3cb4c4c9be638f64022064c3e1a5b22ce38ae566c1f73924666b49876e06c283529a8875d9e74be0300c012102f0801da5b557dde40d9bd022362ef99752919517cd4ce5964dcada9175a1e8b5feffffffd1d57576ba121a45e4ad340975abdebf24d0d0dab85dd17440d78aaf13cc0b38000000006a47304402202fd572e2c941feb8710283a6e95a8d39964f01873cf7506dcdc828d914ac4f4302204d0b6bcf9d05e902e9a05cc96d41c2a19af0bf1055177f8e1111b2a8e2e5de2b012102f0801da5b557dde40d9bd022362ef99752919517cd4ce5964dcada9175a1e8b5feffffffce4e0c6cd8f1c1b2ab2350d72383aaefe8d925128b126d40d7ef346910a6ea8a000000006a47304402205e2bd14ea3787febea21803a135a882b553fff7758fc2370af8055c1694d8ba3022034382608166beaa057324ecdaa0f6747022f2e0f7f2b3539426b5f62440beb67012102f0801da5b557dde40d9bd022362ef99752919517cd4ce5964dcada9175a1e8b5feffffff3d71485da571aacb77f33117e4aa59cf02eec6ad38210c110ca09e9258df1b33000000006b48304502210084dcc8d11fba1b4b2c2b74cca2128b40bdc563ed00a2d725144117b7f3b29c34022074edb63dd8422649237d421e32b6aa3d8db75c0f8bcdf3a809ea1b003621de96012102f0801da5b557dde40d9bd022362ef99752919517cd4ce5964dcada9175a1e8b5feffffff01696b7d01000000003c76a9144129792b8ec0606c8ddb53a8c011f257dd2292e288ac20bb1acf2c1fc1228967a611c7db30632098f0c641855180b5fe23793b72eea50d00b4010a00000000e40b5402000000acb24b2f08e8e56fe1784f1600879c697c7cd90846e076724b090fd72206b1a5c1dd2de641154fd54de4cf60ea3f5b9e7135787ecb9fcce75de5c41f974fd0cbf70af51ba99b1b8d591d237091414051d2953b7d75e16d89be6fe1cf0bfc63a244f6f51159061875ff1922c3d923d365370ac2605c19e03d674bf64af9e91e00003a6fe5d3f1bcddf09faee1866e453f99d4491e68811bc1a7d5695955e4f8f456627f546bdbbbd026c1b6ee35e2f65659cbcd32406026ebb8f602c86d3f42499f8412dc3ebe664ce188c69360f13dddbd577513171f49423d51ff9578b15901000060b866a7695601aa41cb7775ed16208d0f79e8c19376d99b3cbab937f3a271a7347a9eceab34d14ddcd0aa7936869cc620d5f5a8a44c78a0fc621edfc69e2751ad4192fd57a57eb5d8e798bd15773b20a29cd260755b6c5ec7b051ecd4685e01005e7b462cc84ae0faaa5884bd5c4a5a5edf13db210599aeeb4d273c0f5f32967b7071ce2b4d490b9f08f6ce66a8405735c79197cd6773d1c5aeb2a38da1c102df07b05879c77198e5aafa7feed25d4137e86b3d98d9edd9547a460f1615b10000ee9570fbffedd44170477b37500a0a1cb3f94b6361f10f8a68c4075fbc17542d7174b3d95e12ddb8aea5d6b6c53c1df6c8f60010cd2e69902ba5e89e86747569463a23254730fc8d2aabf39648a505df9dcce461443b181ef3eda46074070000550836db2c97820971db6b1421e348d946ed4d3f255295abea46556615e3123de33ec56f784f70302901a4bc10c79c6a8b1e32477aeff9fba75876592981b678fc5a2703ac0b3055e567a6cb1ebab578fc4f9121fd968680250696cb85790000078fcfb60bdfc79aa1e377cb120480538e0236156f23129a88824ca5a1d77e371e5e98a16e6f32087c91aa02a4f5e00e412e515c3b678f6535141203c6886c637b626a2ada4062d037503359a680979091c68941a307db6e4ed8bc49d21b00002f0e6f88fb69309873fdefb015569e5511fb5399295204876543d065d177bf36ab79183a7c5e504b50691bc5b4ed0293324cfe2555d3fc8e39485822a90a91afcd4ef79ec3aefbd4cbe25cbccd802d8334ce1dce238c3f7505330a14615500001f89fbe1922ab3aa31a28fd29e19673714a7e48050dee59859d68345bb7bee7d5e888d8b798a58d7c650f9138304c05a92b668294c6114185ccb2c67ce0bbbb7e1dcbb6d76f5cacd7c9732a33b21d69bd7a28c9cca68b5735d50413862bc0100308bb0dd0bd53f3d1134966702dd3c7cc8b58b270a6996a646493250b0d5f3978d0c971f8fa7a0c958f3efe2fa5269244973fafb701c2eb66dd25901f93d677ab6c538c1ed11f115e52d3f2c7087ea40c3e8cd089376baa38842e9429b5f0000d19a8d874d791f952f13d3c8ecd92e44009c09815e5ae6a8e5def7ea52fe3de4accfb5ba2aa401fbcec14b069cd0dc0f66ab025b45ef9831a26acf58673db7487043654e7980fcb2b6c1bd7593a4dfff810436f653e309121c7ccf2df70b010000732254ec6df184be360cd9ed383ed7c8c236d7761cfc0ce4e7f0cac5a06f4edab9cfc75a7dc1449c0e18ed9564c974c2e1b6847c637f74e5d391cbc80fc6e672ffd66b5ce4fb73bda8359ab8a0ea1e855df1e07d82f93c935c7e1a9a55c5000065efdbb7c3e82291a482b2f24cbd46f4dd02c370cf6dcfe8fb3c00b8b004b5ad51369b1f1b134a824d1f16d72ca6a27ba2d6190150329139cf2c6d9e5a14722f8d39b96b882c1f60a7b230e929819e2abe1cd9d7f3e8c726b1a94d20c8010100732c396eca6ffa1bf851cef449f2f087edd93e4f641b4bd93a482d9f129e675aedb688993d4e2cee824d2803301364ba10fbb66895927adb53bad8aefe8a1caab6f4ccb45883e414a1223ac7f90a89087cd752dfa0c7b3e19bbae000edd5000028d1d23c627d1252d2a2a20a246af2280f50e3fde667873aadd9893ba6833118358398e7428e717128f764714a8d52b090c1f554f58e25ea815338d7bc7326c949567e74f2f2ab3c88f5075fea75594608b8937c9059a42d712ffbd1bd980100000000000250c1a474689e375a309446e5cdd3a0c26cecdcff5c7b8cdc0728868983f1a35a49e3a1bae6f969c3d47356c08d3d169d2c0a2be908d82cd35f41a23d8c2924a9f790ab3a00d53061d440a176670d6a32de2ecd19cf8a9774729c09a6ea4d0100d8838bf55d95521291da12294b302c66042eda0dc2acc79360a1fdd8c9a366fa790c52bf926c2d96b5ba88a3a443487c5235f7c476f350c2101cfbe3bd0361dd291ebc5e42c097a158704b71006886a3662ca6db7d816b4ad12444835d89000000795ce2b34aef921ccb3d9b9695f5d3fe0a03743c955cfcf01f8a1815a7c8b03de85fe15201d4b4b6f401cb334a6988ea5bde8986a468c47c3c6a5ae96a3160ff15e06699ea82bd40c0d5547fe1be77af7817861bbfcca3f4232f05a9cec800006c216565cee4d57b32d2d70bb3cb8d4a967c0eb5d7137b2ec58466f3d4d3b5375e4baa823bcc29c6ad877d9708cd5dc1c31fa3883a80710431110c4aa22e97b67fa639f54e86cfab87187011270139df7873bed12f6fb8cd9ab48f389338010000007500000000", "secret": "003868b579a763b620cabe5882dae3c39be8c84719d6c2ba4ad2ab4b0653aacd04a5b10622d70f094b7276e04608d97c7c699c8700164f78e16fe5e8082f4bb2ac", "vrfSecret": "0300000060e2408dac7d24cd8d54d3eb5cac691862fe5a656a5adc1d7e3480fb6996569f64877371a14efe10ecf87ba8c1451b1228c833b5f391c5bfa999727dd46f4eef08944f2cafe7ca01ca183976300bae46c186d68d47335b208d30202db48d250000dd2de641154fd54de4cf60ea3f5b9e7135787ecb9fcce75de5c41f974fd0cbf70af51ba99b1b8d591d237091414051d2953b7d75e16d89be6fe1cf0bfc63a244f6f51159061875ff1922c3d923d365370ac2605c19e03d674bf64af9e91e00003a6fe5d3f1bcddf09faee1866e453f99d4491e68811bc1a7d5695955e4f8f456627f546bdbbbd026c1b6ee35e2f65659cbcd32406026ebb8f602c86d3f42499f8412dc3ebe664ce188c69360f13dddbd577513171f49423d51ff9578b159010000"}
Output example:
{
"withdrawalEpochLength": 10,
"powData": "c149e35e030f0f20c149e35e030f0f20c049e35e030f0f20c049e35e030f0f20c049e35e030f0f20c049e35e030f0f20c049e35e030f0f20c049e35e030f0f20bf49e35e030f0f20bf49e35e030f0f20bf49e35e030f0f20bf49e35e030f0f20bf49e35e030f0f20bf49e35e030f0f20be49e35e030f0f20be49e35e040f0f20be49e35e040f0f20be49e35e040f0f20be49e35e040f0f20be49e35e040f0f20bd49e35e040f0f20bd49e35e040f0f20bd49e35e040f0f20bd49e35e040f0f20bd49e35e040f0f20bd49e35e040f0f20bc49e35e040f0f20bc49e35e040f0f20",
"scGenesisBlockHex": "010000000000000000000000000000000000000000000000000000000000000000ce8395ee0ba204bb35b6d7c8e5ed23a5b10622d70f094b7276e04608d97c7c699c8700164f78e16fe5e8082f4bb2ac00000002540be400a5b10622d70f094b7276e04608d97c7c699c8700164f78e16fe5e8082f4bb2acdd2de641154fd54de4cf60ea3f5b9e7135787ecb9fcce75de5c41f974fd0cbf70af51ba99b1b8d591d237091414051d2953b7d75e16d89be6fe1cf0bfc63a244f6f51159061875ff1922c3d923d365370ac2605c19e03d674bf64af9e91e00003a6fe5d3f1bcddf09faee1866e453f99d4491e68811bc1a7d5695955e4f8f456627f546bdbbbd026c1b6ee35e2f65659cbcd32406026ebb8f602c86d3f42499f8412dc3ebe664ce188c69360f13dddbd577513171f49423d51ff9578b1590100000800000000368f3fb53ca6911659bbfceed5ee7e3b48ddec45e34d4351f855942c3857e0ae2b429a2b4d859214d11552a5bfdf3a335c4ad5d1c81588724a9bed9de0d25e89961096326cb5c958a11d922cba81687c63ee59fb72a8854f1caedc2307b001000718edd538a0689f1693bc0a33faedbebd0e54b80a04c63e6bbd0a7b9c8ee520a4c181480a080172528bc2cf5cf39aaf96a4872098d81597dd21d1687fb1c3d50f17256a5bb27dc9419aadd2f7ac1a682b52d630462c1cd91e0736353cc3010000e220e1a9f4e1024d8174320ee12c30dc1d7ef905c96527ffa5b47ac17c48aa5ef983549b5ed89133ab65b5fb76333b1eadcfc5d6c427eddb5d885d4cafa7730504902678ae6c952b008035eeaea95b43d9bcc8135e1de6bfdc3e5aad78ce0000682511d3d4e06d74f19784ad7f96f8167818a5c19a9e18aa3ed5bc8df2f9d3a13d8e9afbfdd45b03485235d7242d8fd8ee8022ae4932c262967d25baf01aac5ec768c281a46753e42069f6ed2574b602505cf7e6364526ac94264f837574000000000000000000000000000000000000000000000000000000000000000000002fc03a406de50e49bf2553e5de97892ffd14e9d3c11f56f7172d195694f6fceb000000000000000000000000000000000000000000000000000000000000000000800141a8ddad7a0a780536e6b759d269eff2beda1534141a2b0e79d8cdd22217c05612256e69b0b451d9f554821c04c7b464885d125331365521cebd9f4c6dd1c2000002f21e03daf332c1d140415277f91cd6c3f88337fc957cac106a18b35f0e371d4d0d6d9e1e000000005ee349c10000078302801e03000007570a00000000e40b5402000000acb24b2f08e8e56fe1784f1600879c697c7cd90846e076724b090fd72206b1a5c1dd2de641154fd54de4cf60ea3f5b9e7135787ecb9fcce75de5c41f974fd0cbf70af51ba99b1b8d591d237091414051d2953b7d75e16d89be6fe1cf0bfc63a244f6f51159061875ff1922c3d923d365370ac2605c19e03d674bf64af9e91e00003a6fe5d3f1bcddf09faee1866e453f99d4491e68811bc1a7d5695955e4f8f456627f546bdbbbd026c1b6ee35e2f65659cbcd32406026ebb8f602c86d3f42499f8412dc3ebe664ce188c69360f13dddbd577513171f49423d51ff9578b15901000060b866a7695601aa41cb7775ed16208d0f79e8c19376d99b3cbab937f3a271a7347a9eceab34d14ddcd0aa7936869cc620d5f5a8a44c78a0fc621edfc69e2751ad4192fd57a57eb5d8e798bd15773b20a29cd260755b6c5ec7b051ecd4685e01005e7b462cc84ae0faaa5884bd5c4a5a5edf13db210599aeeb4d273c0f5f32967b7071ce2b4d490b9f08f6ce66a8405735c79197cd6773d1c5aeb2a38da1c102df07b05879c77198e5aafa7feed25d4137e86b3d98d9edd9547a460f1615b10000ee9570fbffedd44170477b37500a0a1cb3f94b6361f10f8a68c4075fbc17542d7174b3d95e12ddb8aea5d6b6c53c1df6c8f60010cd2e69902ba5e89e86747569463a23254730fc8d2aabf39648a505df9dcce461443b181ef3eda46074070000550836db2c97820971db6b1421e348d946ed4d3f255295abea46556615e3123de33ec56f784f70302901a4bc10c79c6a8b1e32477aeff9fba75876592981b678fc5a2703ac0b3055e567a6cb1ebab578fc4f9121fd968680250696cb85790000078fcfb60bdfc79aa1e377cb120480538e0236156f23129a88824ca5a1d77e371e5e98a16e6f32087c91aa02a4f5e00e412e515c3b678f6535141203c6886c637b626a2ada4062d037503359a680979091c68941a307db6e4ed8bc49d21b00002f0e6f88fb69309873fdefb015569e5511fb5399295204876543d065d177bf36ab79183a7c5e504b50691bc5b4ed0293324cfe2555d3fc8e39485822a90a91afcd4ef79ec3aefbd4cbe25cbccd802d8334ce1dce238c3f7505330a14615500001f89fbe1922ab3aa31a28fd29e19673714a7e48050dee59859d68345bb7bee7d5e888d8b798a58d7c650f9138304c05a92b668294c6114185ccb2c67ce0bbbb7e1dcbb6d76f5cacd7c9732a33b21d69bd7a28c9cca68b5735d50413862bc0100308bb0dd0bd53f3d1134966702dd3c7cc8b58b270a6996a646493250b0d5f3978d0c971f8fa7a0c958f3efe2fa5269244973fafb701c2eb66dd25901f93d677ab6c538c1ed11f115e52d3f2c7087ea40c3e8cd089376baa38842e9429b5f0000d19a8d874d791f952f13d3c8ecd92e44009c09815e5ae6a8e5def7ea52fe3de4accfb5ba2aa401fbcec14b069cd0dc0f66ab025b45ef9831a26acf58673db7487043654e7980fcb2b6c1bd7593a4dfff810436f653e309121c7ccf2df70b010000732254ec6df184be360cd9ed383ed7c8c236d7761cfc0ce4e7f0cac5a06f4edab9cfc75a7dc1449c0e18ed9564c974c2e1b6847c637f74e5d391cbc80fc6e672ffd66b5ce4fb73bda8359ab8a0ea1e855df1e07d82f93c935c7e1a9a55c5000065efdbb7c3e82291a482b2f24cbd46f4dd02c370cf6dcfe8fb3c00b8b004b5ad51369b1f1b134a824d1f16d72ca6a27ba2d6190150329139cf2c6d9e5a14722f8d39b96b882c1f60a7b230e929819e2abe1cd9d7f3e8c726b1a94d20c8010100732c396eca6ffa1bf851cef449f2f087edd93e4f641b4bd93a482d9f129e675aedb688993d4e2cee824d2803301364ba10fbb66895927adb53bad8aefe8a1caab6f4ccb45883e414a1223ac7f90a89087cd752dfa0c7b3e19bbae000edd5000028d1d23c627d1252d2a2a20a246af2280f50e3fde667873aadd9893ba6833118358398e7428e717128f764714a8d52b090c1f554f58e25ea815338d7bc7326c949567e74f2f2ab3c88f5075fea75594608b8937c9059a42d712ffbd1bd980100000000000250c1a474689e375a309446e5cdd3a0c26cecdcff5c7b8cdc0728868983f1a35a49e3a1bae6f969c3d47356c08d3d169d2c0a2be908d82cd35f41a23d8c2924a9f790ab3a00d53061d440a176670d6a32de2ecd19cf8a9774729c09a6ea4d0100d8838bf55d95521291da12294b302c66042eda0dc2acc79360a1fdd8c9a366fa790c52bf926c2d96b5ba88a3a443487c5235f7c476f350c2101cfbe3bd0361dd291ebc5e42c097a158704b71006886a3662ca6db7d816b4ad12444835d89000000795ce2b34aef921ccb3d9b9695f5d3fe0a03743c955cfcf01f8a1815a7c8b03de85fe15201d4b4b6f401cb334a6988ea5bde8986a468c47c3c6a5ae96a3160ff15e06699ea82bd40c0d5547fe1be77af7817861bbfcca3f4232f05a9cec800006c216565cee4d57b32d2d70bb3cb8d4a967c0eb5d7137b2ec58466f3d4d3b5375e4baa823bcc29c6ad877d9708cd5dc1c31fa3883a80710431110c4aa22e97b67fa639f54e86cfab87187011270139df7873bed12f6fb8cd9ab48f3893380100009e4676274f1ff9b3164de6e0d6492c4dfc1d564b0243a36208c6b7fe848f9d2100000000080000000000000002e202030000001b199ec4516c4b6021363cd73dcadd5382a1281de6291a46d8a0a6b01a4d490529707a00647aac4ba0f00f64b3b46f6f2d496a030cc23b5808ad78d1fa3606d73622107ce90ea52de0b1b5896459f9b41d0b83076920494643229a5d320a78e6c149e35e030f0f202200b5e4f98dd21ec442183f8bc8ec9a2e483da99e3a773c50390302d7570000240140d14c11a99d48f9244edc0f735729897402236d7a82d9b63fb519d04ab512a2bb39b200",
"scId": "2f7ed2e07ad78e52f43aafb85e242497f5a1da3539ecf37832a0a31ed54072c3",
"mcBlockHeight": 220,
"mcNetwork": "regtest"
}
Step 11: Update Sidechain configuration file
Use examples/simpleapp/src/main/resources/settings_basic.conf
file and append it with the result from genesisinfo
in the following structure:
scorex {
genesis {
scGenesisBlockHex = "010000000000000000000000000000000000000000000000000000000000000000e8df95ee0ba204bb35b6d7c8e5ed23a5b10622d70f094b7276e04608d97c7c699c8700164f78e16fe5e8082f4bb2ac00000002540be400a5b10622d70f094b7276e04608d97c7c699c8700164f78e16fe5e8082f4bb2acdd2de641154fd54de4cf60ea3f5b9e7135787ecb9fcce75de5c41f974fd0cbf70af51ba99b1b8d591d237091414051d2953b7d75e16d89be6fe1cf0bfc63a244f6f51159061875ff1922c3d923d365370ac2605c19e03d674bf64af9e91e00003a6fe5d3f1bcddf09faee1866e453f99d4491e68811bc1a7d5695955e4f8f456627f546bdbbbd026c1b6ee35e2f65659cbcd32406026ebb8f602c86d3f42499f8412dc3ebe664ce188c69360f13dddbd577513171f49423d51ff9578b1590100000800000000368f3fb53ca6911659bbfceed5ee7e3b48ddec45e34d4351f855942c3857e0ae2b429a2b4d859214d11552a5bfdf3a335c4ad5d1c81588724a9bed9de0d25e89961096326cb5c958a11d922cba81687c63ee59fb72a8854f1caedc2307b001000718edd538a0689f1693bc0a33faedbebd0e54b80a04c63e6bbd0a7b9c8ee520a4c181480a080172528bc2cf5cf39aaf96a4872098d81597dd21d1687fb1c3d50f17256a5bb27dc9419aadd2f7ac1a682b52d630462c1cd91e0736353cc3010000dc2855a7f143f8278c03400df621cb17a6fd8ab10c993c06ac08e3573c6ba60e3916450fd08ca03b81afb04c0f314fdbb1cc1c8d92a57d8399872a13336c00aa5c5b166c421243d46ecee4139bdbe0dc6244289ce5465bb3cf972e9f18830000da28d7f2293c4086c6d301dc219bfc004cd26bc09484d5765792876d449ae3674a80a0c3dff2327b32a2b5c801b8f09ee98535e8b384e157c8cc1acdbd833c17733389cc200b7141d1cc9760a1450a6518e2560acabb5a9ae03b232f7831000000000000000000000000000000000000000000000000000000000000000000002fc03a406de50e49bf2553e5de97892ffd14e9d3c11f56f7172d195694f6fceb00000000000000000000000000000000000000000000000000000000000000000080013ca205cd9d8116afbce3f52a4fd0a89dbf954ec10d71e2047abcc668b38f3ce6a946371cc79ae7b8753dea22630cba3ccf010b51d2d8c606db47e955fe38990c0002f21e03daf332c1d140415277f91cd6c3f88337fc957cac106a18b35f0e371d4d0d6d9e1e000000005ee349c10000078302801e03000007570a00000000e40b5402000000acb24b2f08e8e56fe1784f1600879c697c7cd90846e076724b090fd72206b1a5c1dd2de641154fd54de4cf60ea3f5b9e7135787ecb9fcce75de5c41f974fd0cbf70af51ba99b1b8d591d237091414051d2953b7d75e16d89be6fe1cf0bfc63a244f6f51159061875ff1922c3d923d365370ac2605c19e03d674bf64af9e91e00003a6fe5d3f1bcddf09faee1866e453f99d4491e68811bc1a7d5695955e4f8f456627f546bdbbbd026c1b6ee35e2f65659cbcd32406026ebb8f602c86d3f42499f8412dc3ebe664ce188c69360f13dddbd577513171f49423d51ff9578b15901000060b866a7695601aa41cb7775ed16208d0f79e8c19376d99b3cbab937f3a271a7347a9eceab34d14ddcd0aa7936869cc620d5f5a8a44c78a0fc621edfc69e2751ad4192fd57a57eb5d8e798bd15773b20a29cd260755b6c5ec7b051ecd4685e01005e7b462cc84ae0faaa5884bd5c4a5a5edf13db210599aeeb4d273c0f5f32967b7071ce2b4d490b9f08f6ce66a8405735c79197cd6773d1c5aeb2a38da1c102df07b05879c77198e5aafa7feed25d4137e86b3d98d9edd9547a460f1615b10000ee9570fbffedd44170477b37500a0a1cb3f94b6361f10f8a68c4075fbc17542d7174b3d95e12ddb8aea5d6b6c53c1df6c8f60010cd2e69902ba5e89e86747569463a23254730fc8d2aabf39648a505df9dcce461443b181ef3eda46074070000550836db2c97820971db6b1421e348d946ed4d3f255295abea46556615e3123de33ec56f784f70302901a4bc10c79c6a8b1e32477aeff9fba75876592981b678fc5a2703ac0b3055e567a6cb1ebab578fc4f9121fd968680250696cb85790000078fcfb60bdfc79aa1e377cb120480538e0236156f23129a88824ca5a1d77e371e5e98a16e6f32087c91aa02a4f5e00e412e515c3b678f6535141203c6886c637b626a2ada4062d037503359a680979091c68941a307db6e4ed8bc49d21b00002f0e6f88fb69309873fdefb015569e5511fb5399295204876543d065d177bf36ab79183a7c5e504b50691bc5b4ed0293324cfe2555d3fc8e39485822a90a91afcd4ef79ec3aefbd4cbe25cbccd802d8334ce1dce238c3f7505330a14615500001f89fbe1922ab3aa31a28fd29e19673714a7e48050dee59859d68345bb7bee7d5e888d8b798a58d7c650f9138304c05a92b668294c6114185ccb2c67ce0bbbb7e1dcbb6d76f5cacd7c9732a33b21d69bd7a28c9cca68b5735d50413862bc0100308bb0dd0bd53f3d1134966702dd3c7cc8b58b270a6996a646493250b0d5f3978d0c971f8fa7a0c958f3efe2fa5269244973fafb701c2eb66dd25901f93d677ab6c538c1ed11f115e52d3f2c7087ea40c3e8cd089376baa38842e9429b5f0000d19a8d874d791f952f13d3c8ecd92e44009c09815e5ae6a8e5def7ea52fe3de4accfb5ba2aa401fbcec14b069cd0dc0f66ab025b45ef9831a26acf58673db7487043654e7980fcb2b6c1bd7593a4dfff810436f653e309121c7ccf2df70b010000732254ec6df184be360cd9ed383ed7c8c236d7761cfc0ce4e7f0cac5a06f4edab9cfc75a7dc1449c0e18ed9564c974c2e1b6847c637f74e5d391cbc80fc6e672ffd66b5ce4fb73bda8359ab8a0ea1e855df1e07d82f93c935c7e1a9a55c5000065efdbb7c3e82291a482b2f24cbd46f4dd02c370cf6dcfe8fb3c00b8b004b5ad51369b1f1b134a824d1f16d72ca6a27ba2d6190150329139cf2c6d9e5a14722f8d39b96b882c1f60a7b230e929819e2abe1cd9d7f3e8c726b1a94d20c8010100732c396eca6ffa1bf851cef449f2f087edd93e4f641b4bd93a482d9f129e675aedb688993d4e2cee824d2803301364ba10fbb66895927adb53bad8aefe8a1caab6f4ccb45883e414a1223ac7f90a89087cd752dfa0c7b3e19bbae000edd5000028d1d23c627d1252d2a2a20a246af2280f50e3fde667873aadd9893ba6833118358398e7428e717128f764714a8d52b090c1f554f58e25ea815338d7bc7326c949567e74f2f2ab3c88f5075fea75594608b8937c9059a42d712ffbd1bd980100000000000250c1a474689e375a309446e5cdd3a0c26cecdcff5c7b8cdc0728868983f1a35a49e3a1bae6f969c3d47356c08d3d169d2c0a2be908d82cd35f41a23d8c2924a9f790ab3a00d53061d440a176670d6a32de2ecd19cf8a9774729c09a6ea4d0100d8838bf55d95521291da12294b302c66042eda0dc2acc79360a1fdd8c9a366fa790c52bf926c2d96b5ba88a3a443487c5235f7c476f350c2101cfbe3bd0361dd291ebc5e42c097a158704b71006886a3662ca6db7d816b4ad12444835d89000000795ce2b34aef921ccb3d9b9695f5d3fe0a03743c955cfcf01f8a1815a7c8b03de85fe15201d4b4b6f401cb334a6988ea5bde8986a468c47c3c6a5ae96a3160ff15e06699ea82bd40c0d5547fe1be77af7817861bbfcca3f4232f05a9cec800006c216565cee4d57b32d2d70bb3cb8d4a967c0eb5d7137b2ec58466f3d4d3b5375e4baa823bcc29c6ad877d9708cd5dc1c31fa3883a80710431110c4aa22e97b67fa639f54e86cfab87187011270139df7873bed12f6fb8cd9ab48f3893380100009e4676274f1ff9b3164de6e0d6492c4dfc1d564b0243a36208c6b7fe848f9d2100000000080000000000000002e202030000001b199ec4516c4b6021363cd73dcadd5382a1281de6291a46d8a0a6b01a4d490529707a00647aac4ba0f00f64b3b46f6f2d496a030cc23b5808ad78d1fa3606d73622107ce90ea52de0b1b5896459f9b41d0b83076920494643229a5d320a78e6c149e35e030f0f202200b5e4f98dd21ec442183f8bc8ec9a2e483da99e3a773c50390302d7570000240140d14c11a99d48f9244edc0f735729897402236d7a82d9b63fb519d04ab512a2bb39b200"
scId = "2f7ed2e07ad78e52f43aafb85e242497f5a1da3539ecf37832a0a31ed54072c3"
powData = "c149e35e030f0f20c149e35e030f0f20c049e35e030f0f20c049e35e030f0f20c049e35e030f0f20c049e35e030f0f20c049e35e030f0f20c049e35e030f0f20bf49e35e030f0f20bf49e35e030f0f20bf49e35e030f0f20bf49e35e030f0f20bf49e35e030f0f20bf49e35e030f0f20be49e35e030f0f20be49e35e040f0f20be49e35e040f0f20be49e35e040f0f20be49e35e040f0f20be49e35e040f0f20bd49e35e040f0f20bd49e35e040f0f20bd49e35e040f0f20bd49e35e040f0f20bd49e35e040f0f20bd49e35e040f0f20bc49e35e040f0f20bc49e35e040f0f20"
mcBlockHeight = 220
mcNetwork = regtest
withdrawalEpochLength = 10
}
}
Beside genesis related data backward transfer proof related data shall be updated as well. Similar to previous step append to configuration file next:
withdrawalEpochCertificate
block with next parameters:
submitterIsEnabled
- boolean. Enable/not enable submitter to submit backward transfer certificate. Submitter uses zen-cli RPC calls.signersPublicKeys
- list of Schnorr public keys were generated by command GenerateProofInfo. Please pay attention: order is important here! Keys shall be in the same order, i.e. for example output ofgenerateProofInfo
from step 3 next part of config is correct:
signersPublicKeys = ["58fe43befcd1f5affd97aeecc0acdfc90602a8159b4a80ae3fb149bb0b76593442cc98018e0a375f7707bb8c6631b1d00e5eb30f8feb0cdbc958becff3f4f5d3ca615a8ea4ef5e81f4f8a7ae607c00a371a74bdcf4327fb51a8964240e58010039d2007fb391c3258f4e6eff24e03977e59bdc9d5fd12009d3b54b31387a4980c5e44bbe9815632633225f298f13611f58bbf06721b510d37f33e3803991cfcf8916b35e683442dae841fe44b4a82209eb841e51ab4e27a4f70b25cd6114000000",
"e8ec4453de02b11908e98e7b10ca4b9c06484f47fbd90a0fbc19cd37cbb74e89b20607334f0e80b8741efe34d706dea81a78c78bdcf1836683d0c5d6e1e597999bc0bb4171b6e65cd67fd93ef8751b94eb9ba4a9982761b02468e228343f00001192c3cb6cca818fc5e9236752350af124cf65b09f23ffeb70df0f5533c3d9a6bb837f75b87b449b03e660f30be91eca2930947b9c6160b144d9ac783d6337a9bff088a68e315f5a686c263befe267ecf53cb0c4fd8f26a25d49ff07090b010000",
"f6a8a5a4d243229f67529236667124d02fbe8a4f8877beafe43e3a47d94e65fd571cab72cbb7005f6c53e6a42fee9a2259907783dbcd67b36cdccac4674675d92ec3ac11739042d6c0dcb0c9ec6f67aeff3fdfc42ec0e88a170ae243f2a2000075b0694b00995ca4a737c6555d5e721f447689cde8bbca80ff21037eefba98f1e1898389ec5e465b0664bd8d6dd8f1b27fabd377953369918122b15d7fcf38e1333ba787d43ca161a7afa48d782878776a53631d39d5f028f5a3ac8a828d010000",
"5aac00ba50c0689efd6d03a5deca5b57e2ff8cc626d90ac8c98915efd12b0f9d8f584693286f0d721fdb48cdbe41b677ed024858fba641af0546dc0dabbe453e72f2f601658aa473b623651b8f5537ee554b4b94e7b7e3b971fdb726e8820100d4bbe53a1e8f5a57676e31fd77e48cd134f2ccacd9c65aa93b0ed706ae1d740236d995035ab42b19510c35f87119c05a3c3aca8ba64901119f484591df121f7d2cfc5809c753f559aef6b09ddc45004f18f94bbee95e52c7d7c386bc457c010000",
"6e0ff3edf1df22a6ed11f326ca761852a62fbed91eb8afdaad8693c99d611b85121169f08f23674ac8d91ce63ecff7ff1745e4fe7eac3cb6ef0019cb2e0103291b5d4ea5a9affea04fdcd3a22dc4ba094838ebb9db22e3e8d44cb1c378810100794ec69869bcde139f542cfef77d43ff423fca55c166c00e159f37a44c14a0153fee48e0a069308bd4b473edc6a2684cab2999c8fbad29f78eb80f584e3758e686cb9284693087fe08bd2aae467470ba2c4856e78fbd81364e4062000004010000",
"3f523ffb46ae1da4a9799e326138b83e73b1c4567b087d77564c744177d111587e1fa56bd8592728f1334d7bf5a0207bc2fe655db13df2f5c3c5eb4dc9ef68bf917a67f7e01bd762f1e1aecc5a574072de269f8217b53b2d978fbd2dd8990100a16a1599721978c60d43426c6e1bf0c80d7351a5514e44cce9ee813a55e57b9e3423142eb29941bd6063c5c8c04ecc522d211b3f342fa73f11d4dbd46674a5b546342245e59fc2041c87b759815ae6b50fbf7b082e52b1757318a5da2714000000",
"2214caf1355f9373da39bd5e0f6395e62851e76e1cdfc53d67db5927d15a90182ed1122d6eedda9b10ffca34da2b8e5da527d243f6bbff53fc1f29a973369dcffc442d74e2b678e4379f9a4b21b4c54f2a08e5ef230abcd494342c6187b9000041c20e01c40ef7602c1748d1368c74521ac92b4e813a0ad9fa15d15d5b8b23d91d492e127e6e54bdc3dc24ae9c869d20369b5c19e3b48778219cccc6b136014efa8e2ba8fffa893af422ed54ef803633d58a2c0dba2158666c317a824eea000000"
]
signersThreshold
- threshold parameter of command generateProofInfo. It should be less or equal to count of Schnorr keys.signersSecrets
- list of Schnorr secret keys were generated by commandgenerateProofInfo
.provingKeyFilePath
- path to proving key file, currently use filepath ofsdk/src/test/resources/sample_vk_7_keys_with_threshold_5
verificationKeyFilePath
- path to verification key, currently use filepath ofsdk/src/test/resources/sample_proving_key_7_keys_with_threshold_5
.
Example of additional data for config file
withdrawalEpochCertificate {
submitterIsEnabled = true
signersPublicKeys = ["58fe43befcd1f5affd97aeecc0acdfc90602a8159b4a80ae3fb149bb0b76593442cc98018e0a375f7707bb8c6631b1d00e5eb30f8feb0cdbc958becff3f4f5d3ca615a8ea4ef5e81f4f8a7ae607c00a371a74bdcf4327fb51a8964240e58010039d2007fb391c3258f4e6eff24e03977e59bdc9d5fd12009d3b54b31387a4980c5e44bbe9815632633225f298f13611f58bbf06721b510d37f33e3803991cfcf8916b35e683442dae841fe44b4a82209eb841e51ab4e27a4f70b25cd6114000000",
"e8ec4453de02b11908e98e7b10ca4b9c06484f47fbd90a0fbc19cd37cbb74e89b20607334f0e80b8741efe34d706dea81a78c78bdcf1836683d0c5d6e1e597999bc0bb4171b6e65cd67fd93ef8751b94eb9ba4a9982761b02468e228343f00001192c3cb6cca818fc5e9236752350af124cf65b09f23ffeb70df0f5533c3d9a6bb837f75b87b449b03e660f30be91eca2930947b9c6160b144d9ac783d6337a9bff088a68e315f5a686c263befe267ecf53cb0c4fd8f26a25d49ff07090b010000",
"f6a8a5a4d243229f67529236667124d02fbe8a4f8877beafe43e3a47d94e65fd571cab72cbb7005f6c53e6a42fee9a2259907783dbcd67b36cdccac4674675d92ec3ac11739042d6c0dcb0c9ec6f67aeff3fdfc42ec0e88a170ae243f2a2000075b0694b00995ca4a737c6555d5e721f447689cde8bbca80ff21037eefba98f1e1898389ec5e465b0664bd8d6dd8f1b27fabd377953369918122b15d7fcf38e1333ba787d43ca161a7afa48d782878776a53631d39d5f028f5a3ac8a828d010000",
"5aac00ba50c0689efd6d03a5deca5b57e2ff8cc626d90ac8c98915efd12b0f9d8f584693286f0d721fdb48cdbe41b677ed024858fba641af0546dc0dabbe453e72f2f601658aa473b623651b8f5537ee554b4b94e7b7e3b971fdb726e8820100d4bbe53a1e8f5a57676e31fd77e48cd134f2ccacd9c65aa93b0ed706ae1d740236d995035ab42b19510c35f87119c05a3c3aca8ba64901119f484591df121f7d2cfc5809c753f559aef6b09ddc45004f18f94bbee95e52c7d7c386bc457c010000",
"6e0ff3edf1df22a6ed11f326ca761852a62fbed91eb8afdaad8693c99d611b85121169f08f23674ac8d91ce63ecff7ff1745e4fe7eac3cb6ef0019cb2e0103291b5d4ea5a9affea04fdcd3a22dc4ba094838ebb9db22e3e8d44cb1c378810100794ec69869bcde139f542cfef77d43ff423fca55c166c00e159f37a44c14a0153fee48e0a069308bd4b473edc6a2684cab2999c8fbad29f78eb80f584e3758e686cb9284693087fe08bd2aae467470ba2c4856e78fbd81364e4062000004010000",
"3f523ffb46ae1da4a9799e326138b83e73b1c4567b087d77564c744177d111587e1fa56bd8592728f1334d7bf5a0207bc2fe655db13df2f5c3c5eb4dc9ef68bf917a67f7e01bd762f1e1aecc5a574072de269f8217b53b2d978fbd2dd8990100a16a1599721978c60d43426c6e1bf0c80d7351a5514e44cce9ee813a55e57b9e3423142eb29941bd6063c5c8c04ecc522d211b3f342fa73f11d4dbd46674a5b546342245e59fc2041c87b759815ae6b50fbf7b082e52b1757318a5da2714000000",
"2214caf1355f9373da39bd5e0f6395e62851e76e1cdfc53d67db5927d15a90182ed1122d6eedda9b10ffca34da2b8e5da527d243f6bbff53fc1f29a973369dcffc442d74e2b678e4379f9a4b21b4c54f2a08e5ef230abcd494342c6187b9000041c20e01c40ef7602c1748d1368c74521ac92b4e813a0ad9fa15d15d5b8b23d91d492e127e6e54bdc3dc24ae9c869d20369b5c19e3b48778219cccc6b136014efa8e2ba8fffa893af422ed54ef803633d58a2c0dba2158666c317a824eea000000"
]
signersThreshold = 5
signersSecrets = ["0400000060b5c5edfd838b4ebc3fce921e666b534452cddc6fabaf67abab2dfb0381099eeccbb58a7d60cc1104f394780f678e387cf0b8c41c1e9766a5e464c221d2ba219b524dc19d9a6d669d2a237988d4c517e6aa7314fe00f61744f314bedbfd59010058fe43befcd1f5affd97aeecc0acdfc90602a8159b4a80ae3fb149bb0b76593442cc98018e0a375f7707bb8c6631b1d00e5eb30f8feb0cdbc958becff3f4f5d3ca615a8ea4ef5e81f4f8a7ae607c00a371a74bdcf4327fb51a8964240e58010039d2007fb391c3258f4e6eff24e03977e59bdc9d5fd12009d3b54b31387a4980c5e44bbe9815632633225f298f13611f58bbf06721b510d37f33e3803991cfcf8916b35e683442dae841fe44b4a82209eb841e51ab4e27a4f70b25cd6114000000",
"040000006093594ef6d378750dd068321e0cad4ab68b680d15353550a8f8c23923aaa2afcb2b8274e2857d3e420ea6c568ae321058c1389b6f6f2797cf094b2761100847639b562818e19972b681357181d1893d9718190ee76f47d29c59104312637e0000e8ec4453de02b11908e98e7b10ca4b9c06484f47fbd90a0fbc19cd37cbb74e89b20607334f0e80b8741efe34d706dea81a78c78bdcf1836683d0c5d6e1e597999bc0bb4171b6e65cd67fd93ef8751b94eb9ba4a9982761b02468e228343f00001192c3cb6cca818fc5e9236752350af124cf65b09f23ffeb70df0f5533c3d9a6bb837f75b87b449b03e660f30be91eca2930947b9c6160b144d9ac783d6337a9bff088a68e315f5a686c263befe267ecf53cb0c4fd8f26a25d49ff07090b010000",
"040000006081558626e6665e17434f54dae894f1bbdcadf516130458bef367cb46cacef1b2abb2465ac0984149597fdcf1fcac23c6e313abcdfdbfa5581b7d2ce47288702ddbeed067b976c3d99092d9d0323cbf24de644558c7cd91b81aede0a87a980100f6a8a5a4d243229f67529236667124d02fbe8a4f8877beafe43e3a47d94e65fd571cab72cbb7005f6c53e6a42fee9a2259907783dbcd67b36cdccac4674675d92ec3ac11739042d6c0dcb0c9ec6f67aeff3fdfc42ec0e88a170ae243f2a2000075b0694b00995ca4a737c6555d5e721f447689cde8bbca80ff21037eefba98f1e1898389ec5e465b0664bd8d6dd8f1b27fabd377953369918122b15d7fcf38e1333ba787d43ca161a7afa48d782878776a53631d39d5f028f5a3ac8a828d010000",
"0400000060f28a7917f1809e3915898fbe6b757bb6015582285f64b8c1ba41e961496e05d00cf8c9866eb573501ed83d6b8874342b6c7ced57a0bbb4cc083737f102d23ded6f6be6cb74ba23c5408f1c90006b4286c2b59eae4dc0eb1ab87b2dae459a01005aac00ba50c0689efd6d03a5deca5b57e2ff8cc626d90ac8c98915efd12b0f9d8f584693286f0d721fdb48cdbe41b677ed024858fba641af0546dc0dabbe453e72f2f601658aa473b623651b8f5537ee554b4b94e7b7e3b971fdb726e8820100d4bbe53a1e8f5a57676e31fd77e48cd134f2ccacd9c65aa93b0ed706ae1d740236d995035ab42b19510c35f87119c05a3c3aca8ba64901119f484591df121f7d2cfc5809c753f559aef6b09ddc45004f18f94bbee95e52c7d7c386bc457c010000",
"0400000060858b0dcb616773ca66d6d5df476add695e17a37c2987522467ecb5f472cd8729f7537f3578a7f7bacdbaec1294b2b55ad419c3e7772cb457dbe22a8aabece5caa37bde2d85d3f80944c8b28196837b1f042abb92fb30db6cf1b3d287388900006e0ff3edf1df22a6ed11f326ca761852a62fbed91eb8afdaad8693c99d611b85121169f08f23674ac8d91ce63ecff7ff1745e4fe7eac3cb6ef0019cb2e0103291b5d4ea5a9affea04fdcd3a22dc4ba094838ebb9db22e3e8d44cb1c378810100794ec69869bcde139f542cfef77d43ff423fca55c166c00e159f37a44c14a0153fee48e0a069308bd4b473edc6a2684cab2999c8fbad29f78eb80f584e3758e686cb9284693087fe08bd2aae467470ba2c4856e78fbd81364e4062000004010000",
"0400000060db07bc179f7836edacbaa2f43a1819933d6b05729a5e5cd62ae27b56bebfd42ff1a346aa04aa4829682e41e5d38c1b35c4de33d19077cba0f6f4c54cf82b8a76d0f4d590f399a82989868621e583a50f30922a79fe9b41614a8a3551dda800003f523ffb46ae1da4a9799e326138b83e73b1c4567b087d77564c744177d111587e1fa56bd8592728f1334d7bf5a0207bc2fe655db13df2f5c3c5eb4dc9ef68bf917a67f7e01bd762f1e1aecc5a574072de269f8217b53b2d978fbd2dd8990100a16a1599721978c60d43426c6e1bf0c80d7351a5514e44cce9ee813a55e57b9e3423142eb29941bd6063c5c8c04ecc522d211b3f342fa73f11d4dbd46674a5b546342245e59fc2041c87b759815ae6b50fbf7b082e52b1757318a5da2714000000",
"0400000060b0a45e7a26052f0701a99a6ea38259723fc98df005069d439b2b108b49e4265c6c15fc980c89f199a7b7574c3371582584358520d614bdc8e5483a2f72a7f3207da09c0e926e760822cb90f089056e0c2dddceec458ea35636ecb56d265c01002214caf1355f9373da39bd5e0f6395e62851e76e1cdfc53d67db5927d15a90182ed1122d6eedda9b10ffca34da2b8e5da527d243f6bbff53fc1f29a973369dcffc442d74e2b678e4379f9a4b21b4c54f2a08e5ef230abcd494342c6187b9000041c20e01c40ef7602c1748d1368c74521ac92b4e813a0ad9fa15d15d5b8b23d91d492e127e6e54bdc3dc24ae9c869d20369b5c19e3b48778219cccc6b136014efa8e2ba8fffa893af422ed54ef803633d58a2c0dba2158666c317a824eea000000"
]
provingKeyFilePath = "sdk/src/test/resources/sample_proving_key_7_keys_with_threshold_5"
verificationKeyFilePath = "sdk/src/test/resources/sample_vk_7_keys_with_threshold_5"
}
To be verified as owner of first Forger box and be able to forge new Sidechain blocks, generated secrets from step 3 shall be added as well. Find genesisSecrets
parameter in wallet
chapter of config file and add your secret keys:
wallet {
seed = "seed1"
genesisSecrets = ["003868b579a763b620cabe5882dae3c39be8c84719d6c2ba4ad2ab4b0653aacd04a5b10622d70f094b7276e04608d97c7c699c8700164f78e16fe5e8082f4bb2ac",
"0300000060e2408dac7d24cd8d54d3eb5cac691862fe5a656a5adc1d7e3480fb6996569f64877371a14efe10ecf87ba8c1451b1228c833b5f391c5bfa999727dd46f4eef08944f2cafe7ca01ca183976300bae46c186d68d47335b208d30202db48d250000dd2de641154fd54de4cf60ea3f5b9e7135787ecb9fcce75de5c41f974fd0cbf70af51ba99b1b8d591d237091414051d2953b7d75e16d89be6fe1cf0bfc63a244f6f51159061875ff1922c3d923d365370ac2605c19e03d674bf64af9e91e00003a6fe5d3f1bcddf09faee1866e453f99d4491e68811bc1a7d5695955e4f8f456627f546bdbbbd026c1b6ee35e2f65659cbcd32406026ebb8f602c86d3f42499f8412dc3ebe664ce188c69360f13dddbd577513171f49423d51ff9578b159010000"
]
}
Save changes into the file like ./examples/simpleapp/src/main/resources/my_settings.conf
Step 12: Run Simple app
Run SimpleApp with the my_settings.conf
:
- For Windows:
java -cp ./examples/simpleapp/target/sidechains-sdk-simpleapp-0.2.6.jar;./examples/simpleapp/target/lib/* com.horizen.examples.SimpleApp ./examples/simpleapp/src/main/resources/my_settings.conf
- For Linux:
java -cp ./examples/simpleapp/target/sidechains-sdk-simpleapp-0.2.6.jar:./examples/simpleapp/target/lib/* com.horizen.examples.SimpleApp ./examples/simpleapp/src/main/resources/my_settings.conf