diff --git a/Makefile b/Makefile index 8b3d36e056..4acfb982a5 100644 --- a/Makefile +++ b/Makefile @@ -307,6 +307,9 @@ gen/mainnet/genesis.dump: gen/mainnet/genesis.json mainnetgen: gen/mainnet/genesis.dump +# The mainnet genesis.json file generated by this target does not have timestamp value so the hash is different from the deployed mainnet, +# use a real genesis.json file from installer/genesis/mainnet/genesis.json if needed. +# This target is preserved as part of the history on how mainnet genesis.json was generated from the CSV file. gen/mainnet/genesis.json: gen/pregen/mainnet/genesis.csv buildsrc mkdir -p gen/mainnet cat gen/pregen/mainnet/genesis.csv | $(GOPATH1)/bin/incorporate -m gen/pregen/mainnet/metadata.json > gen/mainnet/genesis.json diff --git a/cmd/goal/bundle_genesis_json.sh b/cmd/goal/bundle_genesis_json.sh new file mode 100755 index 0000000000..2c7f2e6107 --- /dev/null +++ b/cmd/goal/bundle_genesis_json.sh @@ -0,0 +1,18 @@ +#!/usr/bin/env bash + +THISDIR=$(dirname $0) + +cat < $THISDIR/bundledGenesisInject.go +// Code generated by bundle_genesis_json.sh. DO NOT EDIT. +package main +var genesisMainnet []byte +var genesisTestnet []byte +var genesisBetanet []byte +var genesisDevnet []byte +func init() { + genesisMainnet = []byte(\`$(cat $THISDIR/../../installer/genesis/mainnet/genesis.json)\`) + genesisTestnet = []byte(\`$(cat $THISDIR/../../installer/genesis/testnet/genesis.json)\`) + genesisBetanet = []byte(\`$(cat $THISDIR/../../installer/genesis/betanet/genesis.json)\`) + genesisDevnet = []byte(\`$(cat $THISDIR/../../installer/genesis/devnet/genesis.json)\`) +} +EOM \ No newline at end of file diff --git a/cmd/goal/bundledGenesisInject.go b/cmd/goal/bundledGenesisInject.go new file mode 100644 index 0000000000..86bd491893 --- /dev/null +++ b/cmd/goal/bundledGenesisInject.go @@ -0,0 +1,2793 @@ +// Code generated by bundle_genesis_json.sh, along with langspec.json. DO NOT EDIT. +package main + +var genesisMainnet []byte +var genesisTestnet []byte +var genesisBetanet []byte +var genesisDevnet []byte + +func init() { + genesisMainnet = []byte(`{ + "alloc": [ + { + "addr": "737777777777777777777777777777777777777777777777777UFEJ2CI", + "comment": "RewardsPool", + "state": { + "algo": 10000000000000, + "onl": 2 + } + }, + { + "addr": "Y76M3MSY6DKBRHBL7C3NNDXGS5IIMQVQVUAB6MP4XEMMGVF2QWNPL226CA", + "comment": "FeeSink", + "state": { + "algo": 1000000, + "onl": 2 + } + }, + { + "addr": "ALGORANDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIN5DNAU", + "comment": "A BIT DOES E NOT BUT E STARTS EVERYTHING LIFE A MANY FORTUNE R BUILD SIMPLER BE THE STARTS PERSEVERES FAVORS A ENOUGH RIPROVANDO POSSIBLE JOURNEY VICTORIA HE BOLD U WITHOUT MEN A K OF BORDERS WHO HE E RACES TOMORROW BUT WHO SINGLE PURPOSE GEOGRAPHICAL PROVANDO A KNOW SUFFOCATES NOT SCIENCE STEP MATHEMATICS OF OR A BRIDGES WALLS TECHNOLOGY TODAY AND WITH AS ET MILES OF THOUSAND VITA SIMPLE TOO MUST AS NOT MADE NOT", + "state": { + "algo": 1000000, + "onl": 2 + } + }, + { + "addr": "XQJEJECPWUOXSKMIC5TCSARPVGHQJIIOKHO7WTKEPPLJMKG3D7VWWID66E", + "comment": "AlgorandCommunityAnnouncement", + "state": { + "algo": 10000000, + "onl": 2 + } + }, + { + "addr": "VCINCVUX2DBKQ6WP63NOGPEAQAYGHGSGQX7TSH4M5LI5NBPVAGIHJPMIPM", + "comment": "AuctionsMaster", + "state": { + "algo": 1000000000, + "onl": 2 + } + }, + { + "addr": "OGP6KK5KCMHT4GOEQXJ4LLNJ7D6P6IH7MV5WZ5EX4ZWACHP75ID5PPEE5E", + "comment": "", + "state": { + "algo": 300000000000000, + "onl": 2 + } + }, + { + "addr": "AYBHAG2DAIOG26QEV35HKUBGWPMPOCCQ44MQEY32UOW3EXEMSZEIS37M2U", + "comment": "", + "state": { + "algo": 300000000000000, + "onl": 2 + } + }, + { + "addr": "2XKK2L6HOBCYHGIGBS3N365FJKHS733QOX42HIYLSBARUIJHMGQZYAQDRY", + "comment": "", + "state": { + "algo": 300000000000000, + "onl": 2 + } + }, + { + "addr": "ZBSPQQG7O5TR5MHPG3D5RS2TIFFD5NMOPR77VUKURMN6HV2BSN224ZHKGU", + "comment": "", + "state": { + "algo": 300000000000000, + "onl": 2 + } + }, + { + "addr": "7NQED6NJ4NZU7B5HGGFU2ZEC2UZQYU2SA5S4QOE2EXBVAR4CNAHIXV2XYY", + "comment": "", + "state": { + "algo": 300000000000000, + "onl": 2 + } + }, + { + "addr": "RX2ZKVJ43GNYDJNIOB6TIX26U7UEQFUQY46OMHX6CXLMMBHENJIH4YVLUQ", + "comment": "", + "state": { + "algo": 300000000000000, + "onl": 2 + } + }, + { + "addr": "RHSKYCCZYYQ2BL6Z63626YUETJMLFGVVV47ED5D55EKIK4YFJ5DQT5CV4A", + "comment": "", + "state": { + "algo": 300000000000000, + "onl": 2 + } + }, + { + "addr": "RJS6FDZ46ZZJIONLMMCKDJHYSJNHHAXNABMAVSGH23ULJSEAHZC6AQ6ALE", + "comment": "", + "state": { + "algo": 300000000000000, + "onl": 2 + } + }, + { + "addr": "AZ2KKAHF2PJMEEUVN4E2ILMNJCSZLJJYVLBIA7HOY3BQ7AENOVVTXMGN3I", + "comment": "", + "state": { + "algo": 300000000000000, + "onl": 2 + } + }, + { + "addr": "CGUKRKXNMEEOK7SJKOGXLRWEZESF24ELG3TAW6LUF43XRT2LX4OVQLU4BQ", + "comment": "", + "state": { + "algo": 300000000000000, + "onl": 2 + } + }, + { + "addr": "VVW6BVYHBG7MZQXKAR3OSPUZVAZ66JMQHOBMIBJG6YSPR7SLMNAPA7UWGY", + "comment": "", + "state": { + "algo": 250000000000000, + "onl": 2 + } + }, + { + "addr": "N5BGWISAJSYT7MVW2BDTTEHOXFQF4QQH4VKSMKJEOA4PHPYND43D6WWTIU", + "comment": "", + "state": { + "algo": 1740000000000000, + "onl": 2 + } + }, + { + "addr": "MKT3JAP2CEI5C4IX73U7QKRUF6JR7KPKE2YD6BLURFVPW6N7CYXVBSJPEQ", + "comment": "", + "state": { + "algo": 158000000000000, + "onl": 2 + } + }, + { + "addr": "GVCPSWDNSL54426YL76DZFVIZI5OIDC7WEYSJLBFFEQYPXM7LTGSDGC4SA", + "comment": "", + "state": { + "algo": 49998988000000, + "onl": 1, + "sel": "lZ9z6g0oSlis/8ZlEyOMiGfX0XDUcObfpJEg5KjU0OA=", + "vote": "Kk+5CcpHWIXSMO9GiAvnfe+eNSeRtpDb2telHb6I1EE=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "M7XKTBQXVQARLS7IVS6NVDHNLJFIAXR2CGGZTUDEKRIHRVLWL5TJFJOL5U", + "comment": "", + "state": { + "algo": 50000000000000, + "onl": 1, + "sel": "Z5gE/m2E/WSuaS5E8aYzO2DugTdSWQdc5W5BroCJdms=", + "vote": "QHHw03LnZQhKvjjIxVj3+qwgohOij2j3TBDMy7V9JMk=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "QFYWTHPNZBKKZ4XG2OWVNEX6ETBISD2VJZTCMODIZKT3QHQ4TIRJVEDVV4", + "comment": "", + "state": { + "algo": 50000000000000, + "onl": 1, + "sel": "NthIIUyiiRVnU/W13ajFFV4EhTvT5EZR/9N6ZRD/Z7U=", + "vote": "3KtiTLYvHJqa+qkGFj2RcZC77bz9yUYKxBZt8B24Z+c=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "DPOZQ6HRYLNNWVQL3I4XV4LMK5UZVROKGJBRIYIRNZUBMVHCU4DZWDBHYE", + "comment": "", + "state": { + "algo": 50000000000000, + "onl": 1, + "sel": "PBZ/agWgmwMdmWgt/W0NvdTN/XSTrVhPvRSMjmP5j90=", + "vote": "FDONnMcq1acmIBjJr3vz4kx4Q8ZRZ8oIH8xXRV5c4L8=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "42GALMKS3HMDB24ZPOR237WQ5QDHL5NIRC3KIA4PCKENJZAD5RP5QPBFO4", + "comment": "", + "state": { + "algo": 50000000000000, + "onl": 1, + "sel": "p7axjoy3Wn/clD7IKoTK2Zahc5ZU+Qkt2POVHKugQU4=", + "vote": "PItHHw+b01XplxRBFmZniqmdm+RyJFYd0fDz+OP4D6o=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "OXWIMTRZA5TVPABJF534EBBERJG367OLAB6VFN4RAW5P6CQEMXEX7VVDV4", + "comment": "", + "state": { + "algo": 50000000000000, + "onl": 1, + "sel": "RSOWYRM6/LD7MYxlZGvvF+WFGmBZg7UUutdkaWql0Xo=", + "vote": "sYSYFRL7AMJ61egushOYD5ABh9p06C4ZRV/OUSx7o3g=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "AICDUO6E46YBJRLM4DFJPVRVZGOFTRNPF7UPQXWEPPYRPVGIMQMLY5HLFM", + "comment": "", + "state": { + "algo": 50000000000000, + "onl": 1, + "sel": "0vxjPZqEreAhUt9PHJU2Eerb7gBhMU+PgyEXYLmbifg=", + "vote": "fuc0z/tpiZXBWARCJa4jPdmDvSmun4ShQLFiAxQkOFI=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "DYATVHCICZA7VVOWZN6OLFFSKUAZ64TZ7WZWCJQBFWL3JL4VBBV6R7Z6IE", + "comment": "", + "state": { + "algo": 50000000000000, + "onl": 1, + "sel": "KO2035CRpp1XmVPOTOF6ICWCw/0I6FgelKxdwPq+gMY=", + "vote": "rlcoayAuud0suR3bvvI0+psi/NzxvAJUFlp+I4ntzkM=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "6XJH2PJMAXWS4RGE6NBYIS3OZFOPU3LOHYC6MADBFUAALSWNFHMPJUWVSE", + "comment": "", + "state": { + "algo": 50000000000000, + "onl": 1, + "sel": "PgW1dncjs9chAVM89SB0FD4lIrygxrf+uqsAeZw8Qts=", + "vote": "pA4NJqjTAtHGGvZWET9kliq24Go5kEW8w7f1BGAWmKY=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "EYOZMULFFZZ5QDDMWQ64HKIMUPPNEL3WJMNGAFD43L52ZXTPESBEVJPEZU", + "comment": "", + "state": { + "algo": 50000000000000, + "onl": 1, + "sel": "sfebD2noAbrn1vblMmeCIeGB3BxLGKQDTG4sKSNibFs=", + "vote": "Cuz3REj26J+JhOpf91u6PO6MV5ov5b1K/ii1U1uPD/g=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "I3345FUQQ2GRBHFZQPLYQQX5HJMMRZMABCHRLWV6RCJYC6OO4MOLEUBEGU", + "comment": "", + "state": { + "algo": 24000000000000, + "onl": 1, + "sel": "MkH9KsdwiFgYtFFWFu48CeejEop1vsyGFG4/kqPIOFg=", + "vote": "RcntidhQqXQIvYjLFtc6HuL335rMnNX92roa2LcC+qQ=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "6LQH42A4QJ3Y27FGKJWERY3MD65SXM4QQCJJR2HRJYNB427IQ73YBI3YFY", + "comment": "", + "state": { + "algo": 24000000000000, + "onl": 1, + "sel": "nF3mu9Bu0Ad5MIrT31NgTxxrsZOXc4u1+WCvaPQTYEQ=", + "vote": "NaqWR/7FzOq/MiHb3adO6+J+kvnQKat8NSqEmoEkVfE=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "3V2MC7WJGAFU2EHWBHEETIMJVFJNAT4KKWVPOMJFJIM6ZPWEJRJ4POTXGI", + "comment": "", + "state": { + "algo": 24000000000000, + "onl": 1, + "sel": "3i4K8zdmnf1kxwgcNmI3x50iIwAxDmLMvoQEhjzhado=", + "vote": "wfJWa0kby76rqX2yvCD/aCfJdNt+qItylDPQiuAWFkQ=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "FTXSKED23VEXNW442T2JKNPPNUC2WKFNRWBVQTFMT7HYX365IVLZXYILAI", + "comment": "", + "state": { + "algo": 24000000000000, + "onl": 1, + "sel": "icuL7ehcGonAcJ02Zy4MIHqcT+Sp1R1UURNCYJQHmo4=", + "vote": "tmFcj3v7X5DDxKI1IDbGdhXh3a5f0Ab1ftltM7TgIDE=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "IAOW7PXLCDGLKMIQF26IXFF4THSQMU662MUU6W5KPOXHIVKHYFLYRWOUT4", + "comment": "", + "state": { + "algo": 24000000000000, + "onl": 1, + "sel": "zTn9rl/8Y2gokMdFyFP/pKg4eP02arkxlrBZIS94vPI=", + "vote": "a0pX68GgY7u8bd2Z3311+Mtc6yDnESZmi9k8zJ0oHzY=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "4NRNE5RIGC2UGOMGMDR6L5YMQUV3Q76TPOR7TDU3WEMJLMC6BSBEKPJ2SY", + "comment": "", + "state": { + "algo": 24000000000000, + "onl": 1, + "sel": "orSV2VHPY8m5ckEHGwK0r+SM9jq4BujAICXegAUAecI=", + "vote": "NJ9tisH+7+S29m/uMymFTD8X02/PKU0JUX1ghnLCzkw=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "E2EIMPLDISONNZLXONGMC33VBYOIBC2R7LVOS4SYIEZYJQK6PYSAPQL7LQ", + "comment": "", + "state": { + "algo": 24000000000000, + "onl": 1, + "sel": "XM2iW9wg9G5TyOfVu9kTS80LDIqcEPkJsgxaZll3SWA=", + "vote": "p/opFfDOsIomj5j7pAYU+G/CNUIwvD2XdEer6dhGquQ=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "APDO5T76FB57LNURPHTLAGLQOHUQZXYHH2ZKR4DPQRKK76FB4IAOBVBXHQ", + "comment": "", + "state": { + "algo": 24000000000000, + "onl": 1, + "sel": "5k2vclbUQBE6zBl45F3kGSv1PYhE2k9wZjxyxoPlnwA=", + "vote": "3dcLRSckm3wd9KB0FBRxub3meIgT6lMZnv5F08GJgEo=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "3KJTYHNHK37G2JDZJPV55IHBADU22TX2FPJZJH43MY64IFWKVNMP2F4JZE", + "comment": "", + "state": { + "algo": 24000000000000, + "onl": 1, + "sel": "o5e9VLqMdmJas5wRovfYFHgQ+Z6sQoATf3a6j0HeIXU=", + "vote": "rG7J8pPAW+Xtu5pqMIJOG9Hxdlyewtf9zPHEKR2Q6OE=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "IVKDCE6MS44YVGMQQFVXCDABW2HKULKIXMLDS2AEOIA6P2OGMVHVJ64MZI", + "comment": "", + "state": { + "algo": 24000000000000, + "onl": 1, + "sel": "XgUrwumD7oin/rG3NKwywBSsTETg/aWg9MjCDG61Ybg=", + "vote": "sBPEGGrEqcQMdT+iq2ududNxCa/1HcluvsosO1SkE/k=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "2WDM5XFF7ONWFANPE5PBMPJLVWOEN2BBRLSKJ37PQYW5WWIHEFT3FV6N5Y", + "comment": "", + "state": { + "algo": 24000000000000, + "onl": 1, + "sel": "Lze5dARJdb1+Gg6ui8ySIi+LAOM3P9dKiHKB9HpMM6A=", + "vote": "ys4FsqUNQiv+N0RFtr0Hh9OnzVcxXS6cRVD/XrLgW84=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "EOZWAIPQEI23ATBWQ5J57FUMRMXADS764XLMBTSOLVKPMK5MK5DBIS3PCY", + "comment": "", + "state": { + "algo": 24000000000000, + "onl": 1, + "sel": "jtmLcJhaAknJtA1cS5JPZil4SQ5SKh8P0w1fUw3X0CE=", + "vote": "pyEtTxJAas/j+zi/N13b/3LB4UoCar1gfcTESl0SI2I=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "REMF542E5ZFKS7SGSNHTYB255AUITEKHLAATWVPK3CY7TAFPT6GNNCHH6M", + "comment": "", + "state": { + "algo": 24000000000000, + "onl": 1, + "sel": "8ggWPvRpSkyrjxoh1SVS9PiSjff2azWtH0HFadwI9Ck=", + "vote": "Ej/dSkWbzRf09RAuWZfC4luRPNuqkLFCSGYXDcOtwic=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "T4UBSEAKK7JHT7RNLXVHDRW72KKFJITITR54J464CAGE5FGAZFI3SQH3TI", + "comment": "", + "state": { + "algo": 24000000000000, + "onl": 1, + "sel": "eIB8MKaG2lyJyM9spk+b/Ap/bkbo9bHfvF9f8T51OQk=", + "vote": "7xuBsE5mJaaRAdm5wnINVwm4SgPqKwJTAS1QBQV3sEc=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "YUDNQMOHAXC4B3BAMRMMQNFDFZ7GYO2HUTBIMNIP7YQ4BL57HZ5VM3AFYU", + "comment": "", + "state": { + "algo": 24000000000000, + "onl": 1, + "sel": "CSTCDvvtsJB0VYUcl3oRXyiJfhm3CtqvRIuFYZ69Z68=", + "vote": "uBK1TH4xKdWfv5nnnHkvYssI0tyhWRFZRLHgVt9TE1k=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "4SZTEUQIURTRT37FCI3TRMHSYT5IKLUPXUI7GWC5DZFXN2DGTATFJY5ABY", + "comment": "", + "state": { + "algo": 24000000000000, + "onl": 1, + "sel": "THGOlrqElX13xMqeLUPy6kooTbXjiyrUoZfVccnHrfI=", + "vote": "k4hde2Q3Zl++sQobo01U8heZd/X0GIX1nyqM8aI/hCY=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "UEDD34QFEMWRGYCBLKZIEHPKSTNBFSRMFBHRJPY3O2JPGKHQCXH4IY6XRI", + "comment": "", + "state": { + "algo": 24000000000000, + "onl": 1, + "sel": "jE+AUFvtp2NJsfNeUZeXdWt0X6I58YOgY+z/HB17GDs=", + "vote": "lmnYTjg1FhRNAR9TwVmOahVr5Z+7H1GO6McmvOZZRTQ=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "HHZQOGQKMQDLBEL3HXMDX7AGTNORYVZ4JFDWVSL5QLWMD3EXOIAHDI5L7M", + "comment": "", + "state": { + "algo": 24000000000000, + "onl": 1, + "sel": "Hajdvzem2rR2GjLmCG+98clHZFY5Etlp0n+x/gQTGj0=", + "vote": "2+Ie4MDWC6o/SfFSqev1A7UAkzvKRESI42b4NKS6Iw8=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "XRTBXPKH3DXDJ5OLQSYXOGX3DJ3U5NR6Y3LIVIWMK7TY33YW4I2NJZOTVE", + "comment": "", + "state": { + "algo": 24000000000000, + "onl": 1, + "sel": "5qe7rVoQfGdIUuDbhP2ABWivCoCstKbUsjdmYY76akA=", + "vote": "3J3O9DyJMWKvACubUK9QvmCiArtZR7yFHWG7k7+apdQ=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "JJFGCPCZPYRLOUYBZVC4F7GRPZ5CLB6BMTVRGNDP7GRGXL6GG4JEN7DL54", + "comment": "", + "state": { + "algo": 24000000000000, + "onl": 1, + "sel": "YoRFAcTiOgJcLudNScYstbaKJ8anrrHwQMZAffWMqYE=", + "vote": "VQFKlDdxRqqqPUQ/mVoF8xZS9BGxUtTnPUjYyKnOVRA=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "4VNSA2GZVUD5ZNO62OVVNP4NEL2LIEE5N3MZEK4BKH62KGKRLVINFZYTZM", + "comment": "", + "state": { + "algo": 100000000000000, + "onl": 2 + } + }, + { + "addr": "IVCEEIH2Q32DZNRTS5XFVEFFAQGERNZHHQT6S4UPY7ORJMHIQDSTX7YM4E", + "comment": "", + "state": { + "algo": 408400000000000, + "onl": 2 + } + }, + { + "addr": "PLFHBIRGM3ZWGAMCXTREX2N537TWOMFIQXHFO2ZGQOEPZU473SYBVGVA5M", + "comment": "", + "state": { + "algo": 1011600000000000, + "onl": 2 + } + }, + { + "addr": "KF7X4ZABZUQU7IFMHSKLDKWCS4F3GZLOLJRDAK5KMEMDAGU32CX36CJQ5M", + "comment": "", + "state": { + "algo": 10000000000000, + "onl": 2 + } + }, + { + "addr": "BTEESEYQMFLWZKULSKLNDELYJTOOQK6ZT4FBCW3TOZQ55NZYLOO6BRQ5K4", + "comment": "", + "state": { + "algo": 36199095000000, + "onl": 2 + } + }, + { + "addr": "E36JOZVSZZDXKSERASLAWQE4NU67HC7Q6YDOCG7P7IRRWCPSWXOI245DPA", + "comment": "", + "state": { + "algo": 20000000000000, + "onl": 2 + } + }, + { + "addr": "I5Q6RRN44OZWYMX6YLWHBGEVPL7S3GBUCMHZCOOLJ245TONH7PERHJXE4A", + "comment": "", + "state": { + "algo": 20000000000000, + "onl": 2 + } + }, + { + "addr": "2GYS272T3W2AP4N2VX5BFBASVNLWN44CNVZVKLWMMVPZPHVJ52SJPPFQ2I", + "comment": "", + "state": { + "algo": 40000000000000, + "onl": 2 + } + }, + { + "addr": "D5LSV2UGT4JJNSLJ5XNIF52WP4IHRZN46ZGWH6F4QEF4L2FLDYS6I6R35Y", + "comment": "", + "state": { + "algo": 20000000000000, + "onl": 2 + } + }, + { + "addr": "UWMSBIP2CGCGR3GYVUIOW3YOMWEN5A2WRTTBH6Y23KE3MOVFRHNXBP6IOE", + "comment": "", + "state": { + "algo": 20000000000000, + "onl": 2 + } + }, + { + "addr": "OF3MKZZ3L5ZN7AZ46K7AXJUI4UWJI3WBRRVNTDKYVZUHZAOBXPVR3DHINE", + "comment": "", + "state": { + "algo": 40000000000000, + "onl": 2 + } + }, + { + "addr": "2PPWE36YUMWUVIFTV2A6U4MLZLGROW4GHYIRVHMUCHDH6HCNVPUKPQ53NY", + "comment": "", + "state": { + "algo": 440343426000000, + "onl": 2 + } + }, + { + "addr": "JRGRGRW4HYBNAAHR7KQLLBAGRSPOYY6TRSINKYB3LI5S4AN247TANH5IQY", + "comment": "", + "state": { + "algo": 362684706000000, + "onl": 2 + } + }, + { + "addr": "D7YVVQJXJEFOZYUHJLIJBW3ATCAW46ML62VYRJ3SMGLOHMWYH4OS3KNHTU", + "comment": "", + "state": { + "algo": 10000000000000, + "onl": 2 + } + }, + { + "addr": "PZJKH2ILW2YDZNUIYQVJZ2MANRSMK6LCHAFSAPYT6R3L3ZCWKYRDZXRVY4", + "comment": "", + "state": { + "algo": 10000000000000, + "onl": 2 + } + }, + { + "addr": "3MODEFJVPGUZH3HDIQ6L2MO3WLJV3FK3XSWKFBHUGZDCHXQMUKD4B7XLMI", + "comment": "", + "state": { + "algo": 130000000000000, + "onl": 2 + } + }, + { + "addr": "WNSA5P6C5IIH2UJPQWJX6FRNPHXY7XZZHOWLSW5ZWHOEHBUW4AD2H6TZGM", + "comment": "", + "state": { + "algo": 130000000000000, + "onl": 2 + } + }, + { + "addr": "OO65J5AIFDS6255WL3AESTUGJD5SUV47RTUDOUGYHEIME327GX7K2BGC6U", + "comment": "", + "state": { + "algo": 40000000000000, + "onl": 2 + } + }, + { + "addr": "DM6A24ZWHRZRM2HWXUHAUDSAACO7VKEZAOC2THWDXH4DX5L7LSO3VF2OPU", + "comment": "", + "state": { + "algo": 20000000000000, + "onl": 2 + } + }, + { + "addr": "NTJJSFM75RADUOUGOBHZB7IJGO7NLVBWA66EYOOPU67H7LYIXVSPSI7BTA", + "comment": "", + "state": { + "algo": 18099548000000, + "onl": 2 + } + }, + { + "addr": "DAV2AWBBW4HBGIL2Z6AAAWDWRJPTOQD6BSKU2CFXZQCOBFEVFEJ632I2LY", + "comment": "", + "state": { + "algo": 1000000000000, + "onl": 2 + } + }, + { + "addr": "M5VIY6QPSMALVVPVG5LVH35NBMH6XJMXNWKWTARGGTEEQNQ3BHPQGYP5XU", + "comment": "", + "state": { + "algo": 20000000000000, + "onl": 2 + } + }, + { + "addr": "WZZLVKMCXJG3ICVZSVOVAGCCN755VHJKZWVSVQ6JPSRQ2H2OSPOOZKW6DQ", + "comment": "", + "state": { + "algo": 45248869000000, + "onl": 2 + } + }, + { + "addr": "XEJLJUZRQOLBHHSOJJUE4IWI3EZOM44P646UDKHS4AV2JW7ZWBWNFGY6BU", + "comment": "", + "state": { + "algo": 20000000000000, + "onl": 2 + } + }, + { + "addr": "OGIPDCRJJPNVZ6X6NBQHMTEVKJVF74QHZIXVLABMGUKZWNMEH7MNXZIJ7Q", + "comment": "", + "state": { + "algo": 40000000000000, + "onl": 2 + } + }, + { + "addr": "G47R73USFN6FJJQTI3JMYQXO7F6H4LRPBCTTAD5EZWPWY2WCG64AVPCYG4", + "comment": "", + "state": { + "algo": 10000000000000, + "onl": 2 + } + }, + { + "addr": "PQ5T65QB564NMIY6HXNYZXTFRSTESUEFIF2C26ZZKIZE6Q4R4XFP5UYYWI", + "comment": "", + "state": { + "algo": 5000000000000, + "onl": 2 + } + }, + { + "addr": "R6S7TRMZCHNQPKP2PGEEJ6WYUKMTURNMM527ZQXABTHFT5GBVMF6AZAL54", + "comment": "", + "state": { + "algo": 1000000000000, + "onl": 2 + } + }, + { + "addr": "36LZKCBDUR5EHJ74Q6UWWNADLVJOHGCPBBQ5UTUM3ILRTQLA6RYYU4PUWQ", + "comment": "", + "state": { + "algo": 5000000000000, + "onl": 2 + } + }, + { + "addr": "JRHPFMSJLU42V75NTGFRQIALCK6RHTEK26QKLWCH2AEEAFNAVEXWDTA5AM", + "comment": "", + "state": { + "algo": 40000000000000, + "onl": 2 + } + }, + { + "addr": "64VZVS2LFZXWA5W3S657W36LWGP34B7XLMDIF4ROXBTPADD7SR5WNUUYJE", + "comment": "", + "state": { + "algo": 171945701000000, + "onl": 2 + } + }, + { + "addr": "TXDBSEZPFP2UB6BDNFCHCZBTPONIIQVZGABM4UBRHVAAPR5NE24QBL6H2A", + "comment": "", + "state": { + "algo": 60000000000000, + "onl": 2 + } + }, + { + "addr": "XI5TYT4XPWUHE4AMDDZCCU6M4AP4CAI4VTCMXXUNS46I36O7IYBQ7SL3D4", + "comment": "", + "state": { + "algo": 40000000000000, + "onl": 2 + } + }, + { + "addr": "Y6ZPKPXF2QHF6ULYQXVHM7NPI3L76SP6QHJHK7XTNPHNXDEUTJPRKUZBNE", + "comment": "", + "state": { + "algo": 40000000000000, + "onl": 2 + } + }, + { + "addr": "6LY2PGUJLCK4Q75JU4IX5VWVJVU22VGJBWPZOFP3752UEBIUBQRNGJWIEA", + "comment": "", + "state": { + "algo": 40000000000000, + "onl": 2 + } + }, + { + "addr": "L7AGFNAFJ6Z2FYCX3LXE4ZSERM2VOJF4KPF7OUCMGK6GWFXXDNHZJBEC2E", + "comment": "", + "state": { + "algo": 10000000000000, + "onl": 2 + } + }, + { + "addr": "RYXX5U2HMWGTPBG2UDLDT6OXDDRCK2YGL7LFAKYNBLRGZGYEJLRMGYLSVU", + "comment": "", + "state": { + "algo": 40000000000000, + "onl": 2 + } + }, + { + "addr": "S263NYHFQWZYLINTBELLMIRMAJX6J5CUMHTECTGGVZUKUN2XY6ND2QBZVY", + "comment": "", + "state": { + "algo": 21647524000000, + "onl": 2 + } + }, + { + "addr": "AERTZIYYGK3Q364M6DXPKSRRNSQITWYEDGAHXC6QXFCF4GPSCCSISAGCBY", + "comment": "", + "state": { + "algo": 19306244000000, + "onl": 2 + } + }, + { + "addr": "34UYPXOJA6WRTWRNH5722LFDLWT23OM2ZZTCFQ62EHQI6MM3AJIAKOWDVQ", + "comment": "", + "state": { + "algo": 10000000000000, + "onl": 2 + } + }, + { + "addr": "EDVGNQL6APUFTIGFZHASIEWGJRZNWGIKJE64B72V36IQM2SJPOAG2MJNQE", + "comment": "", + "state": { + "algo": 20000000000000, + "onl": 2 + } + }, + { + "addr": "RKKLUIIGR75DFWGQOMJB5ZESPT7URDPC7QHGYKM4MAJ4OEL2J5WAQF6Z2Q", + "comment": "", + "state": { + "algo": 40000000000000, + "onl": 2 + } + }, + { + "addr": "M4TNVJLDZZFAOH2M24BE7IU72KUX3P6M2D4JN4WZXW7WXH3C5QSHULJOU4", + "comment": "", + "state": { + "algo": 10000000000000, + "onl": 2 + } + }, + { + "addr": "WQL6MQS5SPK3CR3XUPYMGOUSCUC5PNW5YQPLGEXGKVRK3KFKSAZ6JK4HXQ", + "comment": "", + "state": { + "algo": 10000000000000, + "onl": 2 + } + }, + { + "addr": "36JTK4PKUBJGVCWKXZTAG6VLJRXWZXQVPQQSYODSN6WEGVHOWSVK6O54YU", + "comment": "", + "state": { + "algo": 10000000000000, + "onl": 2 + } + }, + { + "addr": "YFOAYI4SNXJR2DBEZ3O6FJOFSEQHWD7TYROCNDWF6VLBGLNJMRRHDXXZUI", + "comment": "", + "state": { + "algo": 30000000000000, + "onl": 2 + } + }, + { + "addr": "XASOPHD3KK3NNI5IF2I7S7U55RGF22SG6OEICVRMCTMMGHT3IBOJG7QWBU", + "comment": "", + "state": { + "algo": 40000000000000, + "onl": 2 + } + }, + { + "addr": "H2AUGBLVQFHHFLFEPJ6GGJ7PBQITEN2GE6T7JZCALBKNU7Q52AVJM5HOYU", + "comment": "", + "state": { + "algo": 10000000000000, + "onl": 2 + } + }, + { + "addr": "GX3XLHSRMFTADVKJBBQBTZ6BKINW6ZO5JHXWGCWB4CPDNPDQ2PIYN4AVHQ", + "comment": "", + "state": { + "algo": 40000000000000, + "onl": 2 + } + }, + { + "addr": "VBJBJ4VC3IHUTLVLWMBON36Y5MPAMPV4DNGW5FQ47GRLPT7JR5PQOUST2E", + "comment": "", + "state": { + "algo": 4524887000000, + "onl": 2 + } + }, + { + "addr": "7AQVTOMB5DJRSUM4LPLVF6PY3Y5EBDF4RZNDIWNW4Z63JYTAQCPQ62IZFE", + "comment": "", + "state": { + "algo": 50000000000000, + "onl": 2 + } + }, + { + "addr": "B4ZIHKD4VYLA4BAFEP7KUHZD7PNWXW4QLCHCNKWRENJ2LYVEOIYA3ZX6IA", + "comment": "", + "state": { + "algo": 40000000000000, + "onl": 2 + } + }, + { + "addr": "G5RGT3EENES7UVIQUHXMJ5APMOGSW6W6RBC534JC6U2TZA4JWC7U27RADE", + "comment": "", + "state": { + "algo": 10000000000000, + "onl": 2 + } + }, + { + "addr": "5AHJFDLAXVINK34IGSI3JA5OVRVMPCWLFEZ6TA4I7XUZ7I6M34Q56DUYIM", + "comment": "", + "state": { + "algo": 20000000000000, + "onl": 2 + } + } + ], + "fees": "Y76M3MSY6DKBRHBL7C3NNDXGS5IIMQVQVUAB6MP4XEMMGVF2QWNPL226CA", + "id": "v1.0", + "network": "mainnet", + "proto": "https://github.com/algorandfoundation/specs/tree/5615adc36bad610c7f165fa2967f4ecfa75125f0", + "rwd": "737777777777777777777777777777777777777777777777777UFEJ2CI", + "timestamp": 1560211200 +}`) + genesisTestnet = []byte(`{ + "alloc": [ + { + "addr": "7777777777777777777777777777777777777777777777777774MSJUVU", + "comment": "RewardsPool", + "state": { + "algo": 125000000000000, + "onl": 2 + } + }, + { + "addr": "A7NMWS3NT3IUDMLVO26ULGXGIIOUQ3ND2TXSER6EBGRZNOBOUIQXHIBGDE", + "comment": "FeeSink", + "state": { + "algo": 100000, + "onl": 2 + } + }, + { + "addr": "LHHQJ6UMXRGEPXBVFKT7SY26BQOIK64VVPCLVRL3RNQLX5ZMBYG6ZHZMBE", + "comment": "Wallet1", + "state": { + "algo": 320000000000000, + "onl": 1, + "sel": "h7Ml/mY/PDCPSj33u72quxaMX99n+/VE+wD94/hMdzY=", + "vote": "R9kxsHbji4DlxPOAyLehy8vaiWyLjWdLGWBLnQ5jjY8=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "CQW2QBBUW5AGFDXMURQBRJN2AM3OHHQWXXI4PEJXRCVTEJ3E5VBTNRTEAE", + "comment": "Wallet10", + "state": { + "algo": 320000000000000, + "onl": 1, + "sel": "p2tiuQ2kqJGG049hHOKNIjid4/u1MqlvgXfbxK4tuEY=", + "vote": "E73cc+KB/LGdDHO1o84440WKCmqvbM4EgROMRyHfjDc=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "HXPCXKQZF4LDL3CE5ERWC5V2BQZTKXUUT3JE6AXXNKLF3OJL4XUAW5WYXM", + "comment": "Wallet11", + "state": { + "algo": 320000000000000, + "onl": 1, + "sel": "ex32mzy8E94GkHGy+cmkRP5JNqFBKGfHtgyUGNxTiW8=", + "vote": "BtYvtmeEBY2JovHUfePTjo3OtOMrhKp3QMeOYl3JFYM=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "Y3FSHQ43JWDSJG7LL5FBRTXHEGTPSWEQBO4CO2RO7KS2Z4ZGBUI7LSEDHQ", + "comment": "Wallet12", + "state": { + "algo": 320000000000000, + "onl": 1, + "sel": "+AtsgunCR8dzO9UGUJ6sFtAaX/E+ssK6JNmvAljQG2E=", + "vote": "Rx21vGt6pnixU2g6NS/TknVtAGbf8hWMJiEtNuV5lb4=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "KXILJUKZJEOS4OCPGENS72JWIZOXGZSK4R235EQPGQ3JLG6R2BBT3ODXEI", + "comment": "Wallet13", + "state": { + "algo": 320000000000000, + "onl": 1, + "sel": "6s09aJVaGfPdbWy5zUSyBJEX/EGVvsn2moUOvakQdBQ=", + "vote": "1oTW6ZpIHhQP6xeNCSqHOZZJYrKiP5D52OHXGzbVz4k=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "R4DCCBODM4L7C6CKVOV5NYDPEYS2G5L7KC7LUYPLUCKBCOIZMYJPFUDTKE", + "comment": "Wallet14", + "state": { + "algo": 320000000000000, + "onl": 1, + "sel": "XsqeQcLz5nPP316ntIp0X9OfJi5ZSfUNrlRSitWXJRg=", + "vote": "r+e0lAD9FnNqOKoWdYdFko13pm9fk/zCJkxVVCqzjaU=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "VKM6KSCTDHEM6KGEAMSYCNEGIPFJMHDSEMIRAQLK76CJDIRMMDHKAIRMFQ", + "comment": "Wallet15", + "state": { + "algo": 320000000000000, + "onl": 1, + "sel": "64Xkj7z3rHZT7syihd0OmgNExHfnOLdLojDJZgtB1d8=", + "vote": "um2RrGFmZ5Coned2WSbo/htYMKjW7XFE5h25M2IFsDs=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "YTOO52XR6UWNM6OUUDOGWVTNJYBWR5NJ3VCJTZUSR42JERFJFAG3NFD47U", + "comment": "Wallet16", + "state": { + "algo": 320000000000000, + "onl": 1, + "sel": "9f9aNsmJxXgMZke5sRYFbfnH5fIFclSosqSl1mK4Vd8=", + "vote": "h8ybeZLDhNG/53oJGAzZ2TFAXDXaslXMzNBOR3Pd+i4=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "EQ5XMOLC2JY5RNFXM725LRVKSTOHWBOQE344ZC6O2K4NW2S3G4XQIJNKAA", + "comment": "Wallet17", + "state": { + "algo": 320000000000000, + "onl": 1, + "sel": "R2LzBwBOEoMEcN6j2Pq9F1RKgrLrqnTyW/iT/tlIRZg=", + "vote": "FnP52cIaWwqpJ6dE3KuM3WSGaz+TNlb/iM7EO0j7EZQ=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "3PUAOGK2PIEH6K5JTQ55SCV3E52KSLDPUAWDURMUNST6IIFCH347X5SNAI", + "comment": "Wallet18", + "state": { + "algo": 320000000000000, + "onl": 1, + "sel": "HfTcCIGCoAgUMCHalBv2dSC2L7XCPqPmCmWmxO26Vqo=", + "vote": "knBY5MY9DkIguN41/ZoKvSGAg92/fhw64BLHUw0o1BU=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "DUQR2JOFHCTNRRI546OZDYLCVBIVRYOSWKNR7A43YKVH437QS3XGJWTQ6I", + "comment": "Wallet19", + "state": { + "algo": 320000000000000, + "onl": 1, + "sel": "DRSm3BAHOXLJLPHwrkKILG/cvHLXuDQYIceHgNPnQds=", + "vote": "9G4AtYrLO26Jc3BsUfNl+0+3IjeHdOOSM+8ASj9x7Tg=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "NWBZBIROXZQEETCDKX6IZVVBV4EY637KCIX56LE5EHIQERCTSDYGXWG6PU", + "comment": "Wallet2", + "state": { + "algo": 320000000000000, + "onl": 1, + "sel": "0eG0edle+ejWcS4Q8DNlITgqaKqNvOtCxNQs+4AncGo=", + "vote": "V4YUoGYXrgDjCluBBbBx2Kq9kkbCZudsuSwmSlCUnK0=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "U2573KTKRCC7I47FJUTW6DBEUN2VZQ63ZVYISQMIUEJTWDNOGSUTL67HBE", + "comment": "Wallet20", + "state": { + "algo": 320000000000000, + "onl": 1, + "sel": "cDT+xkHQJ13RgfkAUoNMfGk890z2C1V4HSmkxbm6gRk=", + "vote": "r66g4ULatIt179X+2embK0RgwoLdPEq3R3uTTMfP9Hk=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "DBGTTXBPXGKL4TBBISC73RMB3NNZIZBSH2EICWZTQRA42QKNA4S2W4SP7U", + "comment": "Wallet3", + "state": { + "algo": 320000000000000, + "onl": 1, + "sel": "DmlAnKrkD8lgUB1ahLsy/FIjbZ0fypaowyDc8GKwWZA=", + "vote": "ROBSmA9EfZitGyubHMTfmw8kSiohADB3n4McvTR8g88=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "XKZWM4PWPLZZWIANNT4S7LU26SPVIKMCDVQAAYRD4G3QJIOJL2X6RZOKK4", + "comment": "Wallet4", + "state": { + "algo": 320000000000000, + "onl": 1, + "sel": "74a0jcs/Y/uCh24vej1rb6CHu64yvW2nYrM0ZUVEhMo=", + "vote": "rwkur9iwJbzNECWvELxzFeJpbZl7dpiThgPJOHnRykg=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "LPBKDDUNKPXE7GAICEDXGTNCAJNC6IFJUSD4IK2H2IIB3OAFXLM3RLLIVQ", + "comment": "Wallet5", + "state": { + "algo": 320000000000000, + "onl": 1, + "sel": "V4ldV+IY068YK/h7Wb6aNRIo8pr2bYQg8KDgFd25xVw=", + "vote": "d2KdyajjKvpukuGmM2MxEC9XDEgjjF/Spsevjd877RI=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "MZZS43WEFY56LV3WXEVLROT3LYFLEBZ536UY3Z3J56S7EI3SYYOJVO6YRM", + "comment": "Wallet6", + "state": { + "algo": 320000000000000, + "onl": 1, + "sel": "BoBmrNpHTxySZ8DIlg5ZlINKwTPd/K75CCdhNzs9alo=", + "vote": "N6v+PVEUn9fLZb+9sQDu5lpCpsXLHY0skx/8bWDqk7Q=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "RP7BOFGBCPNHWPRJEGPNNQRNC3WXJUUAVSBTHMGUXLF36IEHSBGJOHOYZ4", + "comment": "Wallet7", + "state": { + "algo": 320000000000000, + "onl": 1, + "sel": "n0LW+MxrO2S8/AmPClPaGdTDC5PM/MENdEwrm21KmgU=", + "vote": "/e1z3LMbc8C4m9DZ6NCILpv7bZ/yVdmZUp/M32OSUN4=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "RDHKWTWXOE5AOWUWTROSR4WFLAHMUCRDZIA7OFBXXMMRBXGQ4BYQRPOXXU", + "comment": "Wallet8", + "state": { + "algo": 320000000000000, + "onl": 1, + "sel": "AGJ4v2nOA62A8rGm4H56VEo/6QdhVVJUuEASUybDPNI=", + "vote": "eL2GxfrIoG2kuknlGa8I6vPtMbpygYflrye0u/hE4Lg=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "UXPVVSG7EYC7YR7PRVOZKWYYYZPKEXWGYR6XHBMSAV6BHKQEVFYVYJBVQI", + "comment": "Wallet9", + "state": { + "algo": 320000000000000, + "onl": 1, + "sel": "P4tRdjhyJ9dSNItTY+r2+tQmPfHa6oBAzIh4X3df4gM=", + "vote": "VHITXAytk0804xXBLBVKGlRAcAcDSZKcR2fiz4HtWBU=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "GD64YIY3TWGDMCNPP553DZPPR6LDUSFQOIJVFDPPXWEG3FVOJCCDBBHU5A", + "comment": "bank-testnet", + "state": { + "algo": 200000000000000, + "onl": 1, + "sel": "r6aMJIPeqUPB8u4IvOU/wihF+sgqJVsjibvsYHVqj1s=", + "vote": "mPB1VDBFOPSIEFhXo7VJRLxn45ylDSRnO8J1nXQf4f0=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "GFICEF3GYRENRQHINLRPG7TS7TUIOARUIN7KWXWFROSG55BWFFRCRX5DAA", + "comment": "n1-testnet", + "state": { + "algo": 150000000000000, + "onl": 1, + "sel": "38qDzZjLPfernXNx7leElHsl39WLXMSgLHbEACeNgn4=", + "vote": "8ITl30j5PTSDjmR26G3/rZL7IQM3cSfqqxnJSZf3X0w=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "GFY7ND6YSM5OGNSMAJDYCO6O75SWQRCYOJHCWOPYHUYCWQFWML52TWREBQ", + "comment": "n10-testnet", + "state": { + "algo": 150000000000000, + "onl": 1, + "sel": "iwwKBjoUUUePkoG0ldxc0v6i1fIhVySn2l2kWwekn2A=", + "vote": "DaZFFz72XkcUIuPXcEz6VxWj4SVjzMpOwpTfO2k308g=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "VQFEAD2SXHMLJ3BNSGYUHRZZWBOI7HUQZGFFJEKYD3SGNS667FTMPRDC4Y", + "comment": "n11-testnet", + "state": { + "algo": 50000000000000, + "onl": 1, + "sel": "ckpVY6EaDInNeU1WLHQQXNsAaQnh+bpFhzNWzw0ZirI=", + "vote": "4N1HJ9R2TrTEzLOyO1vUWPYi6sUcdAwQWoHQNBR/CME=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "6J7K7FIYKWTT3LSOZKYWAMSZC5RDID4CJ24C2S5DBQ5V7YUIHOBHPAO4KY", + "comment": "n12-testnet", + "state": { + "algo": 50000000000000, + "onl": 1, + "sel": "n16osH+x1UIrzDNa7PCZHn/UtheRoLcTBwGRnx0fTa8=", + "vote": "Tj0inLse0V3sQRPw+5rVQTIWOqTxn7/URDzUaWGHftg=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "G5KCM3LSFV4GHRYQBXGWTNMR5XESE3PIRODD7ZLASPIGOHPV7CO7UKLZFM", + "comment": "n13-testnet", + "state": { + "algo": 50000000000000, + "onl": 1, + "sel": "tveXF/sDXqBXQY52IEMuvTeVguKzPfN8GLdKgtv3gRg=", + "vote": "uwQJnVuqEtdGnWbbfu+TTLe++56z8wQCzv22IDioALE=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "XNQAMZMMLQV3TGYGJYYLYZUHP4YNEKAJM6RAMJ5SBXFLS3XDBIUVGCZPH4", + "comment": "n14-testnet", + "state": { + "algo": 50000000000000, + "onl": 1, + "sel": "8xotecjUoo1YVzWME3ib9uh+kPUNnzsFcuHrjxxhjZM=", + "vote": "oQ/iakoP5B6gTTm0+xfHHGFS4Ink30I6FWUGkxRNfo8=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "WXCLU5C6QH6KPVNAHNBGFUMC5JAOQCZP3HF76OT2TH3IAI3XTSPCLVILSU", + "comment": "n15-testnet", + "state": { + "algo": 200000000000000, + "onl": 1, + "sel": "NRxs0rM5dov2oZrf6XrFSmG9CRlS3Bmzt0be7uF/nHw=", + "vote": "R8xKtpYYNuTuTqMui/qzxYpc1m8KpbaK/eizYxVQDaY=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "7NRVO2ABPGFRX3374TIJZ46BR72CCSHKTR6PG5VVYNLUPWUVXGOU3O5YQA", + "comment": "n16-testnet", + "state": { + "algo": 200000000000000, + "onl": 1, + "sel": "IQG+jgm2daCxMLxm/f9tTVrDk/hD0ZhB5dxDQn47BSE=", + "vote": "CGwAHrq3QFFlsP7NmHed+Xx4BwFsE2f6dB30Os75KxY=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "537URFEXANB7M6UVND6WDM75DPRRORDXWFLSOG7EGILSKDIU4T32N4KAN4", + "comment": "n17-testnet", + "state": { + "algo": 200000000000000, + "onl": 1, + "sel": "SdLlaWBe8B1JanMq0Y7T1Z9C8dKhI36MQiSffXQt7Lo=", + "vote": "k4Xr6Bg6VpcY0GKwfr6kI89KqOihmCOToLLuIgFjv9c=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "ZNQXW7V5MISZFOZGVLAHKXS7GLWLXCLRPZTTIAZSTFRZPYTC54NWDZ6XZY", + "comment": "n18-testnet", + "state": { + "algo": 200000000000000, + "onl": 1, + "sel": "TNMELlR1C+r4OmGVp9vc9XlehgD3a0EwfrepuMiDe+c=", + "vote": "060veVAG/L2r2IAjqs2TcYy2cthocqrhgrCCoP5lzZ4=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "G3WQEPSGZOQVVJ2H3F6ICMHRIE2JL6U3X3JDABWJRN4HNDUJIAT4YTOGXA", + "comment": "n19-testnet", + "state": { + "algo": 300000000000000, + "onl": 1, + "sel": "ktbtHTm1mUU5u/VMrOuMujMgemUf496zilQsGBynsxQ=", + "vote": "XHXYdLvxKIIjtlmwHVqxvtAyRDE+SQR1tpzgXoNo5FA=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "2YNZ5XDUHYXL2COTVLZBRYV2A7VETFKQZQCPYMQRBOKTAANHP37DUH5BOI", + "comment": "n2-testnet", + "state": { + "algo": 150000000000000, + "onl": 1, + "sel": "u7lR9NcWfssuMvFYuqCi5/nX0Fj9qBKbE0B2OpRhmMg=", + "vote": "/UGQ/1dcp7OTmguYALryqQYRj0oMWhs/ahAbQTL/mRA=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "IH5Z5UZCZKNAH5OICUGHFEYM2JDMJRUSIUV4TZEQYHRNS3T2ROOV32CDIA", + "comment": "n20-testnet", + "state": { + "algo": 300000000000000, + "onl": 1, + "sel": "Jbcg+BVB6EOTe42U0dq1psQfoFZItb6Phst22z33j60=", + "vote": "8Y1QY+WJIziffLecmnr0ZRGJFKtA3oVALQoD3nVKlt8=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "FFJZOPQCYSRZISSJF33MBQJGGTIB2JFUEGBJIY6GXRWEU23ONC65GUZXHM", + "comment": "n3-testnet", + "state": { + "algo": 150000000000000, + "onl": 1, + "sel": "+K8AsLfvuTEuHMANNp2LxGuotgEjFtqOjuR/o4KR6LA=", + "vote": "SerMKyY37A1jFkE0BdrP+vuTdVn9oOJc5QjC5f98Dz8=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "ZWYIEI37V6HI62ZQCPJ5I6AIVKZP6JVCBQJKZEQQCWF4A4G2QGFENKS5XU", + "comment": "n4-testnet", + "state": { + "algo": 150000000000000, + "onl": 1, + "sel": "SmhBpQdh23++6xC01unged2JU1Wgm2zZ8v5LQiG/VqA=", + "vote": "U2lZo9ahjkKBvcS3qSWsmSx+PGI/m6OtnQrQOH1iuII=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "V32YQ6LMMT7X6MML35KOX4MKY7LXWEH4JETZYKAXQ5RX4ZQQ6FAJJ6EGJQ", + "comment": "n5-testnet", + "state": { + "algo": 150000000000000, + "onl": 1, + "sel": "0yRtE7WSj32D5e/ov4o22ZgipQvqJZ6nx9NX1LdxFJI=", + "vote": "scoN8x6Eq0bV4tBLT5R59jU+8gmHgh/6FX6mfV2tIKY=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "OEFWPZHFT25CSDHFRFW62JANGQLB5WD25GJBCGYTTPHFUMAYYD7SEAIVDI", + "comment": "n6-testnet", + "state": { + "algo": 150000000000000, + "onl": 1, + "sel": "dWChUcA1ONX3iNEvHu9GST67XRePhAv6jd3XWt5clvI=", + "vote": "rTfQ/l3lEfGQtzwjFii5ir2nCLSU+RT+0xI5af/XDEU=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "KCQLDL4GCVDLDYW5PYK7GJTUGHYRJ6CZ4QSRIZTXVRUIUAMDKYDFNUIFHU", + "comment": "n7-testnet", + "state": { + "algo": 150000000000000, + "onl": 1, + "sel": "gNXMo6XiZvuQs2mtomJZtra7XiZHySIOWLuWivu4iso=", + "vote": "okgQcI/L7YDAMOyqrLKs6CUB91k+mMFfMTaEb+ixvyY=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "UMMQNIYQXSI4VBGBXJUQ64ABURY6TPR7F4M5CMCOHYMB7GPVIZETZRNRBM", + "comment": "n8-testnet", + "state": { + "algo": 150000000000000, + "onl": 1, + "sel": "ukzMIkE2U33xKq6LGX19NBLirZNANQAf3oiZtlkn5ls=", + "vote": "HYHBaeVeN0DXYBNjRBuGtZqrBr3bSBC1YDQrv93dNrc=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "2INEY2MWIWIUNQS24YVXKT4M3RIKMEZGTVAOJG47N7EOJE7MKXOC6GJSMU", + "comment": "n9-testnet", + "state": { + "algo": 150000000000000, + "onl": 1, + "sel": "7aUtPCawOYpPYjVd6oZOnZ+1CZXApr8QR4q1cOkVyWo=", + "vote": "kcq1XWHnMrjbv/fvMmzIfGZzDtJtdL7i70lpWZ0kGi0=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "IE4C3BNWT4EYKPUZXGWDOOKBTJFVOYAZKBCWFYRC37U7BJKBIUH6NEB7SQ", + "comment": "pp1-testnet", + "state": { + "algo": 50000000000000, + "onl": 1, + "sel": "C3PdYqoDjrjyaGvZ6M/W0E56Mv5BXdtRwj7+4unpxDM=", + "vote": "8fdNikU3nMNyZb3AZlNTnsfsytvrd8bK2b/dYQgJj30=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "7WCI7XPEMWY6XNWHG2VXGYGDLHPTJ333CZ2WBGGUHCSYPTXPBWYCHZYTSE", + "comment": "pp2-testnet", + "state": { + "algo": 25000000000000, + "onl": 1, + "sel": "l3K4aA15T42mTM+QE7GpOzbOcth6hMljBxna7gSR8IA=", + "vote": "NsjSVQJj4XxK5Tt0R7pvU6wQB0MRKHDwC9F2bfUX/vM=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "WYX5JGDYM7TBTMBBEE2OI4GC4KVCTLB2P67B3PUQQS4OMUERE7NIIZDWO4", + "comment": "pp3-testnet", + "state": { + "algo": 25000000000000, + "onl": 1, + "sel": "YmLs97jSdlbYU1H0PwZdzo6hlp0eyBwJ+ydM9ggEENI=", + "vote": "GeDnbm9KKEu2dZ1FACwI0NsVWgoU0udpZef06IiTdfQ=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "2GJF4FEEPNCFKNYSOP6EOQGDQQCGDXPQHWE474DCKP5QO3HFBO73IBLBBY", + "comment": "u1-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "NHZ3VOL34MVWENM72QB6ZBRDMFJTU6R57HAJALSBERH4BNAGR4QDYYBT7A", + "comment": "u10-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "PTLGEQAIGTDWHPKA3IC5BL5UQE52XDZHQH7FUXRV4S6ZBRR5HGZENQ7LTQ", + "comment": "u100-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "3IE2GDYYSI56U53AQ6UUWRGAIGG5D4RHWLMCXJOPWQJA2ABF2X2OLFXGJE", + "comment": "u11-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "IAMUOCM2SEISQZYZZYTLHKSAALDJIXS2IQRU2GPZUOZWB2NLMFZPJSQ7VQ", + "comment": "u12-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "54GKXNGS7HNFHZGO7OIWK3H2KPKZYWSARW7PV4ITVTNCA65K6ESRKI6N3U", + "comment": "u13-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "5ZSFGF66FIJMMRORTYD2PLDAN67FA2J7LF3IYF4ZKD4DJHLEBYJ76DXGVU", + "comment": "u14-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "DY7K3FLRZTW2ZTYVOC4TCGK4JBL7NSJ4GR4BU252QNAVOCVTGEBCPCSJME", + "comment": "u15-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "JG4JQZNYP2524UDVRPPIMSFCIVQPVXLB5AKHM76VXIIRFNMIN3ROIYW65E", + "comment": "u16-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "7J4QX5DVIXSWBC2NJB44LPPUJXOAJQFMBCOS4EDI3XOE5WS76IY7WFTBQI", + "comment": "u17-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "6SA2WG5XM5Q6SSMBRK3TOHY552A75RVANBQQMKTT67PLUN44T3CJZAQOPM", + "comment": "u18-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "64DCC5CMTM4SMMO3QRTY3EDCHS73KDSNNH2XZL262DBK2LR4GJRETWUWIE", + "comment": "u19-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "TQ2B4MTCC6TARNEP4QPPMCKNBBNXKFTQKPVLAFC5XXRR2SWV5DICZELJOY", + "comment": "u2-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "ATNCIRLQLVZ7I4QBGW54DI6CY4AJVBQBPECVNS645RBMYDTK6VV55HXFUU", + "comment": "u20-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "4LP77VEVJ7QNESED4GICPRBZUNP7ZLKKLEVBRDSKX5NZSUFXPSEA575K5E", + "comment": "u21-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "7D34RBEHVI3A7YTQWOUTCSKNQYS5BDBN4E647DOC6WDVOLHPDPSSBY4MWI", + "comment": "u22-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "UMMKTTPNHIURGX24K7UYJ7T3WBB5J7OYBOQJ5WLPRG3BDYWJAEJLVBNHME", + "comment": "u23-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "EOPSQC3QTL7QJ4AQ2J4OJIJMKQLTMIEETJI7OFWYADIMHDWMHQ6MWCTUMQ", + "comment": "u24-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "XT3AVLURALOWTIMGZKB37J2M22NUQCRXTL4DJZHSTPCGLNQKVL7MR3MKFM", + "comment": "u25-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "WS63FDTLLYHC2NS7NXTEO7RPLNMAFM2D2BPJLTMAQJWPR2JCNYTTRMSOAE", + "comment": "u26-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "P5S5GGUHOMVOKWOZPJO74MBYVRXQWDBW6AOTHQZVKJKFGM7VBU6CNR4ATI", + "comment": "u27-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "PXVAI3MUYH4WWJXEQP7XNH3YIMO5ZBAFJWYUL7DOGPAHALE4K6GZBF4THU", + "comment": "u28-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "VGTKWLFANSULZAFDGBONHF55VVKE4V4F63JRDB66XM4K6KCQX6CL22WPRE", + "comment": "u29-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "QB2OTQ6DKUEJFP66A37ASIT4O3UZUOX24DAMWU2D3GCBDIYIXSIDHSXO4E", + "comment": "u3-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "4F6LA64ZLFN33ATWJ74UPAX56OLTXPL74SS5ATXUL7RGX7NKEFKMAWUQYE", + "comment": "u30-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "3JBNL7BZECXKYWZRPWETNL65XEYMAHLC6G3MZN2YMPFL3V7XSDXZEMBHVQ", + "comment": "u31-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "4M2QSKTXKPPZMNUAQ4UDS7ASMQCEUE4WTWGV6AM326425IJ64UNZBCIRGA", + "comment": "u32-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "J37V3LXHPRRKBODXNMNYNUJQIICCFFC4O4XB4YJCPVUAVZNOUG5DWDCEIA", + "comment": "u33-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "I75JBQHNYEYM3J742RBVW4W6RR3YY3BLG2PKO4PXYLVNEX5L646ASDJOOY", + "comment": "u34-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "ZHEIOZ7E2BEBCCKK5QM7DCZAOPTTONMQWHNJ6FOLKBHY466VON6DCZERD4", + "comment": "u35-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "4QMGP4C6OMSCNJI25H7UQGBFHRHL7KXAEQI57JNAXEO2EW3VT6D6LODT5Y", + "comment": "u36-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "KRED3JOLOJE3SLL5NGHAWSUGEMHCYJLD6PX43SIJYN2GC6MS6HPUPPO2LY", + "comment": "u37-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "SVFLDISKS4PDMJKOB6DVVVN6NQ776FHZMGWCOUQVQCH6GXTKCXIHTLYRRQ", + "comment": "u38-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "7IWGAPZ4VWRZLP2IHFSAC3JYOKNAZP6ONBNGGWUWHAUT7F23YFT3XKGNVU", + "comment": "u39-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "O2QVZMKATOIEU2OD4X42MLXAYVRXLRDKJTDXKBFCN3PCKN2Z3PUS5HKIVA", + "comment": "u4-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "H2YN73YPRWKY4GT744RRD65CXSQZO7MK72MV4RDHTIBV6YQUB2G56TVF2Y", + "comment": "u40-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "WGUAFWHRRX7VXPO3XXYCJL5ELO6REUGD57HRMBKTALT2TTXOLSHNOUEQCE", + "comment": "u41-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "RYHCD7GPAEBRV657FJJAG2ZZUDVPR66IU7CA5Y7UDMYSEEIWR4QDNSPLYQ", + "comment": "u42-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "BKTO5TKB4L57YWTZKQBOQ37EWH2HVXGJPXP3L6YSYOAWP3CYYBWLZ2PHTQ", + "comment": "u43-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "FL7LZ57VQQNW5NDJK2IKEAHIXRTB7VFBJEA2MIAEK3QVZPIBGLYW7XSZDY", + "comment": "u44-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "MXXQXZS2TAMIULLXXLX6MM6AHJAOQLHEIB2U3LR4KYKK7ZKRVUSHTU62QA", + "comment": "u45-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "UGOPPKTJQ2KPHU5I56733IMT3B7ECT5O44GW2FYX5SNDVIEDG72Z5GC5IA", + "comment": "u46-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "Y7MGWPRBHQN2PF3I2A3RWCQMVA42VR6FJONJ3W26WGKE4KMCGCVJIDLHEY", + "comment": "u47-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "NNFIWU43AUEZIUIQQECDXM3HRPUEJMPPZLXTM4ZFJKHWSZ2FEGCVMMJUBQ", + "comment": "u48-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "RN3HTSJKSUO6OECM3OPDFQQ2FYZWEY2OWAQGSMQSGY4DI7JJ4HBV2OIJJU", + "comment": "u49-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "OLYQUMZKLYDX2FVHECURBX4SRQSLMIIWN7D7VRJG7B6DS3IU6M5WYVNAAY", + "comment": "u5-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "PIG4P6JA2WDG7HBBR4FFDMVUCUD5Y5CTQ3K3KY34Y4AMT3CWEMVIKQLZZI", + "comment": "u50-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "QIDX47JRS37LRIYVY744SV7KTFGYXY5ABEK2VALNZCMN2H4FBLO7WWKYRM", + "comment": "u51-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "VQZCPUMOYIGCXOK2AK4XYYLWJNRBLS457IL4OSBKGVBHFZ5QPLTCUOTW4A", + "comment": "u52-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "WE2AIYHXI2LHABITCPTZRBTLFT54HPL4MKIR4HTASARNGCCZLXXDE67H3M", + "comment": "u53-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "HAIGM3LXXVKDCGCNQELNOBFZKP6C4A2ZY464F4TB7GWSVDN6I4SI7EOZUE", + "comment": "u54-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "MVZLGPXT6DZQIORE4PIO7NZD7QMJOZZZCOEVPZ3EQX2V4WG3PFU3BXUGDI", + "comment": "u55-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "MB5XJGVVKQU7NSEWWP65QW6H4JVEQYPA5626J4NGQP2E4BUMXRTEGW5X5Y", + "comment": "u56-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "EODZLNWFSRYZKLLF2YAOST2CYQCBRQGXPFQJLDW4CCMYFTYKBSWMF6QUAU", + "comment": "u57-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "LPAMNP7GJC5CNOMWRDII47WWYPF3TOVEIBDSSJA6PKOCPZ5AKRUWMIU2OM", + "comment": "u58-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "THRYS4MAIMEKG7BSAZ4EOKCVUJ7HA6AOCTK2UOKDGZ4TF7Q4BRVTBOUSYU", + "comment": "u59-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "7V7YITMPBTJ3IHHS2D35PVWRZGNFYWWQVRMTI4QP2CBPSKNDRGG66W2HFQ", + "comment": "u6-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "FHA2V46TK5CW66HQPOMLTH5PSKX2JX2IWLWZIYJUZ2RI7SK6HSSBTJBNHM", + "comment": "u60-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "7EJAXCVH7XLWDCWSXID4FNZ6T2SZRA4S7XIZOWA74ITAB272ZF2T5LSWSE", + "comment": "u61-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "K5L3YNZPU6SVNJOWAOKULCWBPIBNMR2VBCASVI4NWDM2APZ6GL36DFDR5Y", + "comment": "u62-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "5BY6RFBNUYHBYH4E4AWVMEOMI7YFKX7X3IPB5GRGAHH4BSXHIL34P3H43A", + "comment": "u63-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "BX2UBG5VCT2ASTGXHVG5NS6VVCYVB6GLKBN4NAAN7ABSTP7BMYCX2T2WEY", + "comment": "u64-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "37JPBYKXMWF6DO3FFWW53LBQCG636MTC7WG6DTRAPDFVXUIATFOMFR5ZLQ", + "comment": "u65-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "ODSPT3NISYMGEE3TJ6U6JCVC44L7DUCPHIV2QMPPRKBWJDALALGVCAPMRE", + "comment": "u66-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "CQA775B5TCU72Y2BNL6VCURBVJE45QV77RXHQ5KYRMMP6NCQ5BR7XJRYRA", + "comment": "u67-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "3Q4SYOBDOAVXUUTKBXEFFSK3BQMUQX5ORZPDA4PHB56KJJONPFFJ7YZ6HU", + "comment": "u68-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "K23ME4QVDHSJWMGUHPGCL2OODAGBHIBW2KGYLLIR3UAEFD5ZW2KFB4WJ34", + "comment": "u69-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "UD2OLL24RFDFMAKK7CCHKFIABPAP7ET4CYQUEYCJVGEIEJUAMDOGJZT26Y", + "comment": "u7-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "KYXWZODLYDHTDMRUBOGOEV42G6H6KJ2JSBFZBP6XNWT42A6QEMEW23JWAM", + "comment": "u70-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "V464X6D3XJVVJ372FFC2NBBDZLBNQA6H55J57WJMMSNOLHOJQ5UF3EUGNY", + "comment": "u71-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "K27ODRPQARZM3236D2XC27QIV27GO2MUR65RGAJKO7UACIFYHG5QKPOCFU", + "comment": "u72-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "FT3JD6TXUZOLOMN4O5CFZYSIHR4T5XJIF2YNV6WGEORNO2X65QW3VUP77I", + "comment": "u73-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "WOTGZ4WOQ4S7YWVAOQ52GGOQPYQI2M7EPZENR27AOZLYFIEJDI3RYFB7OU", + "comment": "u74-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "46MGTGNCTAC62NVNAVXAGP7PUJJIW5GXYYTSUDURCBSRZEDLGME7ICGE4E", + "comment": "u75-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "MBTXWM5M5XQNUEKLBTW7GPU4LFPUETQQPVUBRCOA7FQ47H4J727NFRKKQE", + "comment": "u76-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "4MCTFKPQCY25X6QARHGVD75OYUMQAAU5QLWCE2EM37NWOS7IFJSABMGKBI", + "comment": "u77-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "PY6K3OGCXZVYQYZVA7W3MVZCAU5AFAWQ5J5THILXYIBYCKCGH4ELFU6TNU", + "comment": "u78-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "4ABEMED4I7UYU6CJSLWYQXQHOK2XCQ443BSHR3SL7QJGXNYJ5QCYILSSNU", + "comment": "u79-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "AXBINC5KA3I6IF3JAMKYQU3JLYTA5P2U4PUW3M4L53NEBNCRLHDHHOT2HY", + "comment": "u8-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "5SXA2C6CGZ63OYDY5G4NFLIPJLKCZAMQWLMD2CBNSHUEXVS3ZYHAQCI5TI", + "comment": "u80-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "EVP6MJIZWN6EE64TKEI4ANETP25MHYVXFWESU626TFA5VDVC75KSBGAA54", + "comment": "u81-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "QAUV22GPBAOCO2JGAJF7U474S5SKXVWSZ7KG6P22P4MH3GNBGEJXAVDQLM", + "comment": "u82-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "4FOOFGIWV4H7AXTEJXV2C4ONZ5NXAMUDKJSZDLSKACZ4JA4SWIU6UTLZAU", + "comment": "u83-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "ARUMRBUW3HBQXE4QAL25PPVWAJSKGORTNUIOW3VA5GAMDECOVNYC7GJJS4", + "comment": "u84-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "EJGCYTFUZPJDL2JBZJFQXKZIYJUDB7IBF3E2BH6GXWYWXUHSBCKYFJUKSU", + "comment": "u85-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "FJMEFROCSGQ7C7IXMAPUST37QTQ2Y4A7RMLGK6YTUGHOCLOEL5BDE4AM2M", + "comment": "u86-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "4V635E2WOGIKKWZ6QMYXDWQLYTUKRN7YAYADBQPETS75MKCR66ZC5IEG5M", + "comment": "u87-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "AFJB4HWJLTMMA45VZAJJSUOFF7NROAEEMGT4Z3FQI5APWY472SJ6RNBWU4", + "comment": "u88-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "BYO56YQOSRBUTNPXYO4XDMG7FU7SIP3QGVKAYQIJVJ4UIIMBRG3E4JMVD4", + "comment": "u89-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "FQJO4LDTXEVQ2ZBFYDEAOYPQQZCZTMASMSXJ6V7LBYKOTFSCBUKKIU3DXA", + "comment": "u9-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "WUCEVFNJGUNLMNG2AJMVYJRGQUFXRAFVX2ZRT7AC47WS6IRHPXHSUZ4NUA", + "comment": "u90-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "5J5Q72IHCVAK5NE54ZI2RUZUF3HN2EAQEYQ674H3VX4UUHBMRYAZFRQDIY", + "comment": "u91-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "2LK2SZ3L4PWUXXM4XYFFSCFIV7V5VQJUDFVK7QXK6HJL4OUQKQLWG77EUI", + "comment": "u92-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "QUWHMJLFQAIIG5LV7NK5VNESUUW23RINBSHKKKQDIV4AP56RSTYSNZHDRQ", + "comment": "u93-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "YJEGUEJ2UW2ABLO6XI5QIHQID5ZKUDUDQPHQEN7MH5SS2FLZ573CHRHCZM", + "comment": "u94-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "XOUVBGEZMDVYPES4MGTAEBYU5O6LOCOH27ZJ3ML7ATWEU63N6IWW6F4BLM", + "comment": "u95-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "6CFS2YVK2IMVVFBGGHSPUQBIKMNWRRB44EIUUB4EFXAL7IOJXAHRGXKAGA", + "comment": "u96-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "W5ITKFRKK265A4WKF7IRCZ4MCC7HM3INCJGKPPH3AEKDFYMOJJ4FDLQWYI", + "comment": "u97-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "MBMU3IODI6OFX34MBDMNTD6WSVA6B3XLDVB3IHZJQY3TZUYBPKRNFTUQSM", + "comment": "u98-testnet", + "state": { + "algo": 2000000000000 + } + }, + { + "addr": "CKNVTB7DPRZO3MB64RQFPZIHCHCC4GBSTAAJKVQ2SLYNKVYPK4EJFBCQKM", + "comment": "u99-testnet", + "state": { + "algo": 2000000000000 + } + } + ], + "fees": "A7NMWS3NT3IUDMLVO26ULGXGIIOUQ3ND2TXSER6EBGRZNOBOUIQXHIBGDE", + "id": "v1.0", + "network": "testnet", + "proto": "https://github.com/algorand/spec/tree/a26ed78ed8f834e2b9ccb6eb7d3ee9f629a6e622", + "rwd": "7777777777777777777777777777777777777777777777777774MSJUVU", + "timestamp": 1560210455 +}`) + genesisBetanet = []byte(`{ + "alloc": [ + { + "addr": "7777777777777777777777777777777777777777777777777774MSJUVU", + "comment": "RewardsPool", + "state": { + "algo": 125000000000000, + "onl": 2 + } + }, + { + "addr": "A7NMWS3NT3IUDMLVO26ULGXGIIOUQ3ND2TXSER6EBGRZNOBOUIQXHIBGDE", + "comment": "FeeSink", + "state": { + "algo": 100000, + "onl": 2 + } + }, + { + "addr": "E6JSNTY4PVCY3IRZ6XEDHEO6VIHCQ5KGXCIQKFQCMB2N6HXRY4IB43VSHI", + "comment": "Wallet1", + "state": { + "algo": 500000000000000, + "onl": 1, + "sel": "KsJHGwqm40hKgq91j3e5/RgK8XDiWloeN8FfYB4UKHs=", + "vote": "21YWFk+gtv9AP0vXPXHubfXSWwstKfbKwIIPOYB395I=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "SEMQ3EH6AHVCXZDHCDH3OYBJJGGLHDUFGYVCTJUUJMLO4J5F4E6AIXH3R4", + "comment": "Wallet10", + "state": { + "algo": 500000000000000, + "onl": 1, + "sel": "kRtZiTWtKjFbx58DxEllyZ0/7mQYjT4gdilgNLEEcIQ=", + "vote": "QN1+DlX+2JE8O0NiFTSH+50sXpTYT79HVIYf0YRp1P4=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "BIKIMTXSESQTR5BMPELZO2TFASGCGSXZ2ZA2MSHEUYLJNNXUGJCX6JV2TU", + "comment": "Wallet11", + "state": { + "algo": 500000000000000, + "onl": 1, + "sel": "GVGFHDix++jaHjeVqHQd2tvlkaJzPpkFOqM/xOV8HEs=", + "vote": "Qb20Au5yVWckwkgLS1VrCA867xrBwMwpWvvdVeOgbfE=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "7ERQUUQLQ5K6GVYVAFE25Z42OQMI5JCSBOWORHRT4GMSC3GZFWCOBI67YE", + "comment": "Wallet12", + "state": { + "algo": 500000000000000, + "onl": 1, + "sel": "kBuLytQUQIp9NrAyYbXZk4L9Qf7voFh7B3t4zsdX9tc=", + "vote": "SOB4dO+4R93RvzXZop17kn4wS/YjnmELqQapQ0PDFZM=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "MIZXEAYWBLOMNXCU52OF6ZTYH7LP7W47SKLHIGKLTGEXJHQGD7RHGMUPQQ", + "comment": "Wallet13", + "state": { + "algo": 500000000000000, + "onl": 1, + "sel": "KqpOt2cIsDwGbnNhzRzET4/UR0NhPhKSCG6g86ewFQA=", + "vote": "FIwKS4PBidGgLmAqYMPlxOP0H2LlCF9GC9lWE8Jl4As=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "77FPBCDQOMSOUWOY47HWPGOKSTLQITEZ7QR7GU4TOV3KVIFV2YS3WQG2OI", + "comment": "Wallet14", + "state": { + "algo": 500000000000000, + "onl": 1, + "sel": "M71rgLk28vIZgk73ag1K+2cH33J9viIzXnsrbISmc4Q=", + "vote": "B7O1giNLhEIJWCcXUmZ9X4j/dsVw9Zm5dmXDbn+3ack=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "JDTPB2DSAH42CRL6SKZ3BZ37WIGCHAYRO6DT6PBJNV47566EVQLEOINXEY", + "comment": "Wallet15", + "state": { + "algo": 500000000000000, + "onl": 1, + "sel": "sj1Ap7Wz5GmfQfAJTiv1+eoL0q/2IsER14jxMtxsQok=", + "vote": "P1igemO61V2fz9nb4jaiOaFbpnUZPhKuyNx3j09swSY=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "H6BA5HI7TTKCP76QFTO4EO4MKTOI6XM6R75QRZLGV2H4VAOXIMGCXGIH5Y", + "comment": "Wallet16", + "state": { + "algo": 500000000000000, + "onl": 1, + "sel": "RjsQgzT6eUx88673bdCQm12TmDLi93v92s+E3TK1XWA=", + "vote": "tQtvPw70hZDbrROzsSz27UdN6EIPj2dQFTtzsY6pCVQ=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "FCHLCNFIQ3L5QELMQDADI6BU2ANK2A2ICKXXG7ACJBNEAB64J7UJUPJHJE", + "comment": "Wallet17", + "state": { + "algo": 500000000000000, + "onl": 1, + "sel": "22Dvgroawrb1g7LotUhbTOV/7g1Rn410I1X8CmDeT0A=", + "vote": "SGXiNwAfMRI00SYVpVClqTNJcwBrQF3X77DsWSAO5jo=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "LKH4JTUIOE6I4PH4HVJN6PYZ23WGGWDVJGHM2YXI6IYV5TEECQSTNKMQ2E", + "comment": "Wallet18", + "state": { + "algo": 500000000000000, + "onl": 1, + "sel": "uzGW1wXnBiny4kB4JSpEbCVQvKE8BeO+/o/pdkgfFaY=", + "vote": "ahu0YwixBhpEc+Xvw5oqgwDMnemXHWk8g/Uf/EI5nmA=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "QFH2SS4MGPFNUUDMNLKIUKX5HKAZRXT765WH7WTUBAQNEM7IJAVKAE6NWM", + "comment": "Wallet19", + "state": { + "algo": 400000000000000, + "onl": 1, + "sel": "eE4Wcuz8VeGclgU99Q9rDpehNR+yP2afFYuDAxb/Ebo=", + "vote": "4wsLw785udvYCpn5jzdLqcEHmIQIbRPmbyPt4oTLD2U=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "6SKIRCMLFSSY3EJUC6QGFM3TFIJH72ZYUHX7GCUBDBUBYCAHJBJ5PWB344", + "comment": "Wallet2", + "state": { + "algo": 500000000000000, + "onl": 1, + "sel": "j7WaD43EwoxM5U18kMWn5HfIdn/ICVuMmsj3O5EbFWM=", + "vote": "jAuOIqeQH81zZs4+6YBircvi63xXMN1MIABcOiuzXXs=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "OYD4RZDUBQBVQL4WEPTBVLU6YC7HWHDAS4MMTLQ643Q3O7JRQW6FTWXIWQ", + "comment": "Wallet20", + "state": { + "algo": 400000000000000, + "onl": 1, + "sel": "9LdCYfMPglvbManNcmVLztu/yPhPPkaRaSKMzj5E24w=", + "vote": "ZbN0ELPvL5QizuLvVc7oInsju+irjDRcdYDNnKJV2bg=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "SSKILTKR47YW2IXCJCNUK66ATVLMU53IV5SEC2IXQ4WEPV5EKCAVPCEKMA", + "comment": "Wallet3", + "state": { + "algo": 500000000000000, + "onl": 1, + "sel": "4cxWnAD3DoIel3OuRqOpYgtWP7J873g688P4pXPVhBc=", + "vote": "keW3j4bRW0uvd6ofaDNUuMBdz/v/eWZsLhdFIOlXWCg=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "FE4FDICQLO63S33NL75GBDKAKPGX7B3UMRBBSM5V2JYO4LCLRSE4HQ4YJI", + "comment": "Wallet4", + "state": { + "algo": 500000000000000, + "onl": 1, + "sel": "AILWKIbgQzCSPaaYAMFek1mu6uWYqm2QoIvP97h9wFg=", + "vote": "YXmnzyrRI4c16DauzENAK9bOqatN7qjLAbWUp0L6qXM=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "2N3Y42EA3OPXCOFPKRH4HFOF6FX7QUT45A7CZH4WXGGQDDYSHP6NZGNL24", + "comment": "Wallet5", + "state": { + "algo": 500000000000000, + "onl": 1, + "sel": "lOU6PeVi+AT4lc2tj90AoNQyw3un0Smzk9sOpKCWI1k=", + "vote": "PztZkAup9rAMUreL+HQXCy7mbM39PZ5xl+YiTT4L9YE=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "UJ3HDASRQG2QRPZUS5TOESFIMIDB4ELNE7DO2WGO5LJQ2KT32VGFGGCQKA", + "comment": "Wallet6", + "state": { + "algo": 500000000000000, + "onl": 1, + "sel": "rPMShsyg18Ho9JOQQjcG2yhPMBM0JIgZsr5ndy+0buo=", + "vote": "TFVn1TMHAmcM+St5QLhaFG/dlSGqqlTdGjgjcfSax5M=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "QBQ5ODCH6PWCB5TFQVCOFLHSJKN6NYYB3E3HPCJJTTNRVM5XD3B3KPWFJA", + "comment": "Wallet7", + "state": { + "algo": 500000000000000, + "onl": 1, + "sel": "cxhpl3wBnc9bVW6G5ePiya8nzPvUUaprIoTWvTXJmpY=", + "vote": "W8tVBEdWGDArQFj43qXDw18LRJKaGjgZWUv54tsus+A=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "WILFZPBQMJ7GYSPNA6JPXIZZUZ27XWDJ2NKC7WIODXXGOF73C4TEDEHE3U", + "comment": "Wallet8", + "state": { + "algo": 500000000000000, + "onl": 1, + "sel": "SMSZnIm3GSD1Dr5AEq5ksxxCIqPIrn19WSDNtJSJuiM=", + "vote": "absDJtKafyc4KbrB1GnLcFGv8xQjuqB46gPXXTpIsTU=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "4LSVIF5EY2BQZ6GENL6GT4SQTKX3UVDTBDJXFESGY7GI7FXHZA522KMG5I", + "comment": "Wallet9", + "state": { + "algo": 500000000000000, + "onl": 1, + "sel": "h3aKVPyQSpXAI2zcDD2f1CCBqf9fQd4Z+oJjQ6erFLI=", + "vote": "nNfIrFtpPR6zo4hH6F7HCMA44PDcNOEWtDVRf7dnKe4=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "IDUTJEUIEVSMXTU4LGTJWZ2UE2E6TIODUKU6UW3FU3UKIQQ77RLUBBBFLA", + "comment": "bank", + "state": { + "algo": 100000000000000, + "onl": 1, + "sel": "6Rax2zpOehfDXHyyvMFJwc22A//Pm6rxW4MiEBGIwog=", + "vote": "5JbOqqGn1Ypw+uH3t2i61DcjWYo1AslT0jyOGgcVC6Y=", + "voteKD": 10000, + "voteLst": 3000000 + } + }, + { + "addr": "PNWOET7LLOWMBMLE4KOCELCX6X3D3Q4H2Q4QJASYIEOF7YIPPQBG3YQ5YI", + "comment": "pp1", + "state": { + "algo": 50000000000000 + } + }, + { + "addr": "F5FALDSUFYO5LQU4OQY2HPZTXSUPRHUAERZ7IDG5QCBC76AOHEPK2VUJ34", + "comment": "pp2", + "state": { + "algo": 50000000000000 + } + } + ], + "fees": "A7NMWS3NT3IUDMLVO26ULGXGIIOUQ3ND2TXSER6EBGRZNOBOUIQXHIBGDE", + "id": "v1.0", + "network": "betanet", + "proto": "https://github.com/algorand/spec/tree/a26ed78ed8f834e2b9ccb6eb7d3ee9f629a6e622", + "rwd": "7777777777777777777777777777777777777777777777777774MSJUVU", + "timestamp": 1564572341 +}`) + genesisDevnet = []byte(`{ + "alloc": [ + { + "addr": "7777777777777777777777777777777777777777777777777774MSJUVU", + "comment": "RewardsPool", + "state": { + "algo": 125000000000000, + "onl": 2 + } + }, + { + "addr": "A7NMWS3NT3IUDMLVO26ULGXGIIOUQ3ND2TXSER6EBGRZNOBOUIQXHIBGDE", + "comment": "FeeSink", + "state": { + "algo": 100000, + "onl": 2 + } + }, + { + "addr": "ZQ45INL2IMX66LP4ZEI2WNPESMGQKKVQADISKXNXRJKNXKJFKANOVMRYCQ", + "comment": "Wallet1", + "state": { + "algo": 300000000000000, + "onl": 1, + "sel": "jx49tNyOGVz/yKkmjmJIFzta5SyeJxyYD7znjiwwlRs=", + "vote": "CG6x+hWIFGJcSZVFuuRvtDD0CF1SCpeO4Hxe4YTVojQ=", + "voteKD": 10000, + "voteLst": 10000000 + } + }, + { + "addr": "FCEV42VP5ESVQY7NZT2B327NXE53HHND5TCIXYRIANBEH2PBOD3W4EQPTM", + "comment": "Wallet10", + "state": { + "algo": 500000000000000, + "onl": 1, + "sel": "HexL5RAyE37UC/fd1UH/6Kwbomit6MkLtpe1Pi7USbU=", + "vote": "bTqiNA6+GWmeLQjdiuKvMpiBEFfh/SGRTUewF/BPzUY=", + "voteKD": 10000, + "voteLst": 10000000 + } + }, + { + "addr": "4HT4YQU2WPVV6EYPWYJ3L3IF2MOXQEBMJJOWMGVCBQY2TFFOB5QXMV5EPY", + "comment": "Wallet11", + "state": { + "algo": 500000000000000, + "onl": 1, + "sel": "hP67tzuIoZrXYO9Ln4I8ce/jYtfhpEaqAFoP0Gk4mSk=", + "vote": "lA0se5QSffyxIjKlMntM/0ge5QtDaLGnwI/0GZC3BfU=", + "voteKD": 10000, + "voteLst": 10000000 + } + }, + { + "addr": "VKAXPXHZQX5Z6ECNEDV6RFKM3QANXTGX23Z7O3PPRLCTQGZ4WHVCYJB5X4", + "comment": "Wallet12", + "state": { + "algo": 500000000000000, + "onl": 1, + "sel": "N5ivQdIOTRHAuaazCPwqGB6R0vzs4oE5C/HX5QoWJ1w=", + "vote": "c2KiifMNoLuCpEnvLL97c6b9YuRdqhKntXyQizV7rQA=", + "voteKD": 10000, + "voteLst": 10000000 + } + }, + { + "addr": "HWNVDWBYNO42ZEH46UVHV26HY5ABWZ2EGY5RY4SZY5SGPGMBCWPVP4GRHU", + "comment": "Wallet13", + "state": { + "algo": 500000000000000, + "onl": 1, + "sel": "lBU/qgAYZFI4HOWNA4ENWjNyS2QMNdcuh/tgeJgfuBY=", + "vote": "+3YbNs94emm4vUzQm+rIYcKwdF5PuHcnKL5ork5pUZg=", + "voteKD": 10000, + "voteLst": 10000000 + } + }, + { + "addr": "AK3JQTFREJMQQXKYY7DGDGMXVRDUKK63DKNXJG3BTP6EMLZ62JD455Y5TM", + "comment": "Wallet14", + "state": { + "algo": 500000000000000, + "onl": 1, + "sel": "zIJa2IwZb5wBeXgEDN7oI9Z8mgBXySRJYulW/3klDqQ=", + "vote": "bOLmPR2wdEohQfA3OzEr5SuJyZfsyCQoOS4kxBIhO8s=", + "voteKD": 10000, + "voteLst": 10000000 + } + }, + { + "addr": "75DBTPH3U4NBJ5IYLVEFSBVN3PIRF3OGBKTSQGJFLQBFN6MYXPZLDTQ4QI", + "comment": "Wallet15", + "state": { + "algo": 500000000000000, + "onl": 1, + "sel": "gjGwMoylS7mmmn0xcO5s91X6jyqMvyfOQykBTUqdSZo=", + "vote": "SeNznA406oiGF/8CL/SUNZuQ9Er6o8syd3giX34jRmo=", + "voteKD": 10000, + "voteLst": 10000000 + } + }, + { + "addr": "5K7GCWCI4MT2LWAWFP4WZUHU4WNB6AWZ5NEJCX2DSIRBEYECOW6WJSHVME", + "comment": "Wallet16", + "state": { + "algo": 500000000000000, + "onl": 1, + "sel": "C6eOqo65UBvVkzp8UpO7Wp/v89rfIChsHR/2C5nPcSE=", + "vote": "87ZcLZx04HFyf6XUKkm9inOdYmCrnXyWw84BMBBwtUc=", + "voteKD": 10000, + "voteLst": 10000000 + } + }, + { + "addr": "ZJMREOYU3USMDCQDMWVRECY6JGZD6LC44JTY4TC55ZYTXTQUBFRBEIPY6A", + "comment": "Wallet17", + "state": { + "algo": 500000000000000, + "onl": 1, + "sel": "l77BpNvhHEEiAjY+RNi8ht62+qgb90DXNqKzB+4uHew=", + "vote": "9iuQKJNBXjiKTRhPHPYqEJlmLo0g04in4ABdo7elkFA=", + "voteKD": 10000, + "voteLst": 10000000 + } + }, + { + "addr": "XLI4GVZKYHXVK4MU2YRQMT6TZVCB772NLWW7TEGQIGCH4JXSZA6PARNBVQ", + "comment": "Wallet18", + "state": { + "algo": 500000000000000, + "onl": 1, + "sel": "gAweEod0UC6CN1fjFt/ZFVbyw2kON3hcG5HSPUY7X7A=", + "vote": "1/Vyqjf5sHiZrq5StV+lOK8I0NZCSUbQ5p4QiCFW4a0=", + "voteKD": 10000, + "voteLst": 10000000 + } + }, + { + "addr": "XLQBCY6TK5JSDOIMC4U22ZQ7O35VHJS6QWQUQY6KFV2HD4T3QXCNOEZHMY", + "comment": "Wallet19", + "state": { + "algo": 500000000000000, + "onl": 1, + "sel": "P3zYirarJ4QIMGz2h4SK6rCD5wJMrGPtfIop99ZTCYg=", + "vote": "J3kmHUeU21FvOP46A9OB1QUamatT32oBy2dmZQFVfi0=", + "voteKD": 10000, + "voteLst": 10000000 + } + }, + { + "addr": "LVFCXGJ4H2QXLXS67H7JPQ6HDLSIQ4UBDJ7RNWKI6UUG4QC3GZX53R3BLA", + "comment": "Wallet2", + "state": { + "algo": 500000000000000, + "onl": 1, + "sel": "VyZiFcfly5SCIZhs79IbxYbfYw8od38ecs6vm8UH760=", + "vote": "hGNbwxyqnTEq8rw3d6Ezt4kYDVsk49X4Ousi6z2MPaU=", + "voteKD": 10000, + "voteLst": 10000000 + } + }, + { + "addr": "2BMHSRKHDYBJTW673MLERUX24MOGSXOPFWYLMAVW3QCFRNRB4M6ZDNAFCI", + "comment": "Wallet20", + "state": { + "algo": 500000000000000, + "onl": 1, + "sel": "jHCe2j1mpV9GWRqdhHt3NtZpppVbkc1o5jUaykpdDkw=", + "vote": "nw8oxQjT5IS8GKBWucYtKQB3kY3ywzgMjyY0+6Xi5+s=", + "voteKD": 10000, + "voteLst": 10000000 + } + }, + { + "addr": "3LGSIMLC44UB4NQHSFVM6ZDE7BVJFJVDVYESZZ4SJU4EYDZQV32CIH6JM4", + "comment": "Wallet3", + "state": { + "algo": 500000000000000, + "onl": 1, + "sel": "jGQIdnRvYaokSw7iRG29AdSR81OFqgdnU3sFvd/g0gI=", + "vote": "3bu4xBXbFh/Bpqtdwg9eqlUXGa6nkVE6QDf2gSr7kng=", + "voteKD": 10000, + "voteLst": 10000000 + } + }, + { + "addr": "UXECRB7D5NDQEKVK5ISA5FUKPX6UC3XFI5JEJEYV3CUHJRMEYY2ZBUGVHI", + "comment": "Wallet4", + "state": { + "algo": 500000000000000, + "onl": 1, + "sel": "F2GF2fUODTFsk6NyGAOYDAsS2pdeqxJ0XgJT4C+xh50=", + "vote": "SLw4LA5EdOiUHhQ2r99fsKMytbJCQZWaUxuDrgigyLo=", + "voteKD": 10000, + "voteLst": 10000000 + } + }, + { + "addr": "IXPBHLMKILBRSG3ZTM34UFORUQ2XHTZMEXK5LODNZTS3M3IPKPE6ZOQADY", + "comment": "Wallet5", + "state": { + "algo": 500000000000000, + "onl": 1, + "sel": "KqUKfEEC7pkR+4K4Tnp+V+Rwu/yXAbuAyXlU83ZGPNA=", + "vote": "7vyFvIGRixNbisSJW23yfMW2wE4xRRm41IlgzaZDgjQ=", + "voteKD": 10000, + "voteLst": 10000000 + } + }, + { + "addr": "H5AEMBGBAVVEZOLGNX22OMNDJLEU7PG5VSCBNHB46PKRBBKQBZWA7R2DNA", + "comment": "Wallet6", + "state": { + "algo": 500000000000000, + "onl": 1, + "sel": "kthetjPfSMTOa04Oo3ZQ7GGfXNNE4nCNC8tYVW9qFNE=", + "vote": "WQBnwqMm6f9+GKR0Sz+X6ej65KCkB2I971dYtuoG7tk=", + "voteKD": 10000, + "voteLst": 10000000 + } + }, + { + "addr": "436JPU37D2J5EGLMQCVKU236ZAMJM3XUXGGK35MZ43P3LAB3AWBZS73HME", + "comment": "Wallet7", + "state": { + "algo": 500000000000000, + "onl": 1, + "sel": "o8RSgaF1leM7Mdux9hk/cxypO4XMEZRZjrw6R3JqKZc=", + "vote": "e44SozE14TV9B3Raam7B2Fm9rxRH9O4ruRJmdErr55w=", + "voteKD": 10000, + "voteLst": 10000000 + } + }, + { + "addr": "TP5S4EO7CBRZMXSNMNEEJ7232DCRXHK5YN7W7SKA2W4A2Y5JBFFWCKJJKU", + "comment": "Wallet8", + "state": { + "algo": 500000000000000, + "onl": 1, + "sel": "r/wqmzTQaVYnPBZPGL8W+5i/FYqNz0/1FqewGAyRiiw=", + "vote": "XxrwQh/SE72Q/IA18YNEUAnujR3V+ntd94S554HyQBw=", + "voteKD": 10000, + "voteLst": 10000000 + } + }, + { + "addr": "DMOZSZ3TE65RR5UX2KLDD56LGI75W6LEVOD275S56W2AYCGDD4UYGU4URM", + "comment": "Wallet9", + "state": { + "algo": 500000000000000, + "onl": 1, + "sel": "+LIJ3xi3SuoSuAK/RKirPUMFNltJucuFMa9H9KxB5vQ=", + "vote": "+irtKnZKr1d4G7Fqvc7i4QYqN/NEXunPzdneHKboMUU=", + "voteKD": 10000, + "voteLst": 10000000 + } + }, + { + "addr": "RGKUXFHCDDGN7EJHSDF533KVTCS5EFHAR57SCUV3RDOTQKIXAFRB6ME25M", + "comment": "bank", + "state": { + "algo": 100000000000000, + "onl": 1, + "sel": "SKZZJvgPQImzzn9Ft5e7ZWitXR/1TZwk2aaBM35YcIc=", + "vote": "jB8AMuWZn1m5go/dIVzB6DFIV8hD7UpcLLV2XGjK8FM=", + "voteKD": 10000, + "voteLst": 10000000 + } + }, + { + "addr": "VF4LPDP2OCQIN4Q2PJ4VZV725NBHMGUZZC35SO3EHX7XUB7SRMLFNRHVB4", + "comment": "pp1", + "state": { + "algo": 50000000000000 + } + }, + { + "addr": "ZJOL26NAJMBNMAOKKTBRZTFAPSODASPKV4Z2A4EYMNMTZVT65CEAIBFTNQ", + "comment": "pp2", + "state": { + "algo": 50000000000000 + } + } + ], + "fees": "A7NMWS3NT3IUDMLVO26ULGXGIIOUQ3ND2TXSER6EBGRZNOBOUIQXHIBGDE", + "id": "v1.0", + "network": "devnet", + "proto": "https://github.com/algorandfoundation/specs/tree/3a83c4c743f8b17adfd73944b4319c25722a6782", + "rwd": "7777777777777777777777777777777777777777777777777774MSJUVU" +}`) +} diff --git a/cmd/goal/node.go b/cmd/goal/node.go index a7dcad550d..67fccbf41e 100644 --- a/cmd/goal/node.go +++ b/cmd/goal/node.go @@ -16,11 +16,14 @@ package main +//go:generate ./bundle_genesis_json.sh + import ( "encoding/base64" "encoding/json" "errors" "fmt" + "io/ioutil" "net" "os" "path/filepath" @@ -53,6 +56,7 @@ var newNodeDestination string var newNodeArchival bool var newNodeIndexer bool var newNodeRelay string +var newNodeFullConfig bool var watchMillisecond uint64 var abortCatchup bool @@ -92,6 +96,7 @@ func init() { createCmd.Flags().BoolVarP(&newNodeIndexer, "indexer", "i", localDefaults.IsIndexerActive, "Configure the new node to enable the indexer feature (implies --archival)") createCmd.Flags().StringVar(&newNodeRelay, "relay", localDefaults.NetAddress, "Configure as a relay with specified listening address (NetAddress)") createCmd.Flags().StringVar(&listenIP, "api", "", "REST API Endpoint") + createCmd.Flags().BoolVar(&newNodeFullConfig, "full-config", false, "Store full config file") createCmd.MarkFlagRequired("destination") createCmd.MarkFlagRequired("network") @@ -559,8 +564,15 @@ var createCmd = &cobra.Command{ Run: func(cmd *cobra.Command, _ []string) { // validate network input - validNetworks := map[string]bool{"mainnet": true, "testnet": true, "devnet": true, "betanet": true} - if !validNetworks[newNodeNetwork] { + validNetworks := map[string][]byte{ + "mainnet": genesisMainnet, + "testnet": genesisTestnet, + "betanet": genesisBetanet, + "devnet": genesisDevnet, + } + var genesisContent []byte + var ok bool + if genesisContent, ok = validNetworks[newNodeNetwork]; !ok { reportErrorf(errorNodeCreation, "passed network name invalid") } @@ -586,44 +598,28 @@ var createCmd = &cobra.Command{ localConfig.EnableLedgerService = localConfig.Archival localConfig.EnableBlockService = localConfig.Archival - // locate genesis block - exePath, err := util.ExeDir() - if err != nil { - reportErrorln(errorNodeCreation, err) - } - firstChoicePath := filepath.Join(exePath, "genesisfiles", newNodeNetwork, "genesis.json") - secondChoicePath := filepath.Join("var", "lib", "algorand", "genesis", newNodeNetwork, "genesis.json") - thirdChoicePath := filepath.Join(exePath, "genesisfiles", "genesis", newNodeNetwork, "genesis.json") - paths := []string{firstChoicePath, secondChoicePath, thirdChoicePath} - correctPath := "" - for _, pathCandidate := range paths { - if util.FileExists(pathCandidate) { - correctPath = pathCandidate - break - } - } - if correctPath == "" { - reportErrorf("Could not find genesis.json file. Paths checked: %v", strings.Join(paths, ",")) - } - // verify destination does not exist, and attempt to create destination folder if util.FileExists(newNodeDestination) { reportErrorf(errorNodeCreation, "destination folder already exists") } destPath := filepath.Join(newNodeDestination, "genesis.json") - err = os.MkdirAll(newNodeDestination, 0766) + err := os.MkdirAll(newNodeDestination, 0766) if err != nil { reportErrorf(errorNodeCreation, "could not create destination folder") } // copy genesis block to destination - _, err = util.CopyFile(correctPath, destPath) + err = ioutil.WriteFile(destPath, genesisContent, 0644) if err != nil { reportErrorf(errorNodeCreation, err) } // save config to destination - err = localConfig.SaveToDisk(newNodeDestination) + if newNodeFullConfig { + err = localConfig.SaveAllToDisk(newNodeDestination) + } else { + err = localConfig.SaveToDisk(newNodeDestination) + } if err != nil { reportErrorf(errorNodeCreation, err) } diff --git a/config/localTemplate.go b/config/localTemplate.go index 53c2c3f778..da9453c149 100644 --- a/config/localTemplate.go +++ b/config/localTemplate.go @@ -460,13 +460,21 @@ func (cfg Local) DNSBootstrap(network protocol.NetworkID) string { return strings.Replace(cfg.DNSBootstrapID, "", string(network), -1) } -// SaveToDisk writes the Local settings into a root/ConfigFilename file +// SaveToDisk writes the non-default Local settings into a root/ConfigFilename file func (cfg Local) SaveToDisk(root string) error { configpath := filepath.Join(root, ConfigFilename) filename := os.ExpandEnv(configpath) return cfg.SaveToFile(filename) } +// SaveAllToDisk writes the all Local settings into a root/ConfigFilename file +func (cfg Local) SaveAllToDisk(root string) error { + configpath := filepath.Join(root, ConfigFilename) + filename := os.ExpandEnv(configpath) + prettyPrint := true + return codecs.SaveObjectToFile(filename, cfg, prettyPrint) +} + // SaveToFile saves the config to a specific filename, allowing overriding the default name func (cfg Local) SaveToFile(filename string) error { var alwaysInclude []string