# cyber-blade ### other test acc Total: 4899.482000 ### patient 0 children accounts locked: 339,426,277.15 unlocked: 2,255,273,054.95 total: 2594699322.100000 ### Before fork - from 0l.fyi 0x1 coin supply: 99852759598.172712 ### After fork coin supply: 97258055366.589554 Epoch 82: 97258051189.803679 ### difference before - after: 2594704231.583160 check vs patient 0: -4909.483160 ### vefify coin supply `libra query view --function-id 0x1::libra_coin::supply` Pre fork: ``` { "body": [ "99852759598172712" ] } ``` Post fork: ``` ``` ### verify burnt ` libra query resource --account 0x1 --resource-path-string 0x1::burn::BurnCounter` Pre fork: ``` { "lifetime_burned": "147240401827288", "lifetime_recycled": "0" } ``` Total: 147240401.827288 Post fork: ``` { "lifetime_burned": "2741948810196321", "lifetime_recycled": "0" } ``` Total: 2741948810.196321 # TESTNET ## setup ``` git clone https://github.com/0o-de-lally/libra-framework.git cd ~/libra-framework bash ./util/dev_setup.sh -t # whatever release you want to test git checkout fork-tools sudo apt install cargo curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain stable -y # restart your bash instance to pickup the cargo paths source ~/.bashrc cargo build sudo cp -f ~/libra-framework/target/debug/libra* ~/.cargo/bin/ libra wallet keygen ``` # Accounts 0L Rex Testnet Vals curl 127.0.0.1:9101/metrics 2> /dev/null | grep "_connections" Alice fce85ef7181337d7bf355880328f08dbf35d1da4aa5a39e1ea9daad2c2648173 office carbon hurt inner gas output catch afraid focus token giggle rain bird elder home ranch urban argue useless broken nerve useless venture wink Bob 2d4d93e472c085dbef0d5f023e34575e494b38ce8acfcbacd2b73c305e1fba0f keep razor reason output hammer sad load run include fall cheese velvet ranch broken sick special track world galaxy obey pyramid eternal situate digital Carol 3137975e788a10ef10b4618fdd0d2b717784d1d8eb1c99ad146c3d16bcabdcae blame sand matrix jar gospel thumb test window bind turn wagon light pigeon spice swallow critic deer nominee win destroy game brief gas inflict # Db Backup ``` scp libra@65.108.51.131:/home/libra/data_15Mar.zip . pw: 0LLibra ``` # Steps on Sirouks Machine ``` 0. start with a clean db backup (with no prior writesets attempted) 1. export vars export ACCOUNT_FILE=/home/sirouk/libra-framework/tools/rescue/fixtures/fork/sample_fork_user.json export VALS_FILE=/home/sirouk/libra-framework/tools/rescue/fixtures/fork/validators.json # and after you get a waypoint: # WAYPOINT=0x..... 2. make bins install 3. make hard-fork-blob 4. export WAYPOINT=(what was printed above) 5. make hard-fork-commit 6. libra config fullnode-init 7. edit fullnode.yaml to include new waypoint (and db path) 8. libra node 9 check the accounts with the API (there's a little helper: make test-api) ``` First attempt as a validator ``` If this is not what you expected explicitly set it with --config-file <path> details = '''panicked at 'Node should start correctly: DB failed to open Struct IdentStr("Freeze") not found in ModuleId { address: 0000000000000000000000000000000000000000000000000000000000000001, name: Identifier("donor_voice") }', tools/cli/src/node_cli.rs:37:46''' backtrace = ''' 0: 0x55cb6a0c6945 - <unknown> 1: 0x55cb6a474f33 - <unknown> 2: 0x55cb6afcc8b8 - <unknown> 3: 0x55cb6afcc534 - <unknown> 4: 0x55cb6afcc496 - <unknown> 5: 0x55cb6afcc481 - <unknown> 6: 0x55cb6a10c972 - <unknown> 7: 0x55cb6a1139c2 - <unknown> 8: 0x55cb6a09edc3 - <unknown> 9: 0x55cb6a09455b - <unknown> 10: 0x55cb6a07bf76 - <unknown> 11: 0x55cb6a07bf97 - <unknown> 12: 0x55cb6a09fb9e - <unknown> 13: 0x7fb93a209d90 - <unknown> 14: 0x7fb93a209e40 - __libc_start_main 15: 0x55cb6a060d25 - <unknown> 16: 0x0 - <unknown> ''' Failed to flush telemetry: Disconnected ``` ### Second attempt cp -r ~/.libra/data/home/sirouk/.libra/data-2024-03-14-045027/db ~/.libra/data/ `33252517:7b8d2f36185c0baa72315d32196cbd949e6aa339ecfc1ae78bd31b1b2640b33d ### Third attempt Hemulins machine /home/hemulin/workspace/0l/ cp -r /home/hemulin/workspace/0l/libra-framework/tools/rescue/home/sirouk/.libra/data-2024-03-14-045027/db ~/.libra/data/ - get ods libra fork and checkout fork-tools - update Makefile with hardcoded paths - update val set - make backup-db - make bad-bad-download-db - make hard-fork-blob - update waypoint ``` [ {"account": "0x9A710919B1A1E67EDA335269C0085C91"}, {"account": "0x77F2650CD59335A8B03F875B43376F26"} ] ``` ` ### 0L v6 - Other Tools For Documentation # Checking Validator Configuration On/Off Chain ## Off-Chain #This will print out config information to cli. libra config validator-init --check #This will check your local files and print what the credentials are. Will include network strings which can be used in validator.yaml files libra wallet whoami ## On-Chain # update the on-chain config for the VN/VFN libra txs validator update # check the on-chain config for the VN/VFN libra query val-config -a <validator_account> hemulins issues ``` 2024-03-15T23:53:59.662812Z [consensus-17] ERROR /home/hemulin/.cargo/git/checkouts/diem-7dee55d666bb1ba0/7b843bc/consensus/safety-rules/src/safety_rules.rs:434 {"error":"Invalid EpochChangeProof: Invalid bitvec from the multi-signature","event":"error","name":"initialize"} 2024-03-15T23:53:59.662829Z [consensus-17] WARN /home/hemulin/.cargo/git/checkouts/diem-7dee55d666bb1ba0/7b843bc/consensus/src/round_manager.rs:1023 {"committed_round":0,"error":"from peer 0000000000000000000000000000000077f2650cd59335a8b03f875b43376f26\n\nCaused by:\n 0: [RoundManager] SafetyRules Rejected [id: bc03d501, author: (NIL), epoch: 81, round: 01, parent_id: f402f1a3, timestamp: 1710380776835391]\n 1: Invalid EpochChangeProof: Invalid bitvec from the multi-signature","kind":"SafetyRules","pending_votes":"PendingVotes: []","round":1} 2024-03-15T23:54:04.211334Z [network-Val-17] WARN /home/hemulin/.cargo/git/checkouts/diem-7dee55d666bb1ba0/7b843bc/network/src/peer_manager/transport.rs:311 [validator,Validator,] Inbound connection from /ip4/65.109.67.25/tcp/55814 failed to upgrade after 0.001 secs: noise server: client 2e98f19d: client connecting with unauthenticated peer id: 2e98f19d7b5db142e8958a8a7a79eb46330d4623036ddf1368fa3626cf34e278 {"error":"noise server: client 2e98f19d: client connecting with unauthenticated peer id: 2e98f19d7b5db142e8958a8a7a79eb46330d4623036ddf1368fa3626cf34e278","network_address":"/ip4/65.109.67.25/tcp/55814","network_context":{"role":"validator","network_id":"Validator","peer_id":"0000000000000000000000000000000077f2650cd59335a8b03f875b43376f26"}} ```