EOS-BIOS Boot Stage 17

in #eos6 years ago (edited)

As the launch of the EOS blockchain approaches, a group of Block Producers are testing the EOS BIOS sequence to work through the software to help ensure a successful and secure launch. The `eos-bios` tool allows for multiple stages to take place. Here is the report with the highlights and improvement of the Stage 17.

Block Producers that participated in stage 17 (in alphabetical order): Aloha EOS, Bitspace, BlockEOS, Block Matrix, BlockPro1, Cypherglass, DposClub,  Easypayx, EOSIO.SG, EOS 42, EOS Amsterdam, EOS Asia, EOS Authority, EOS Bixin, EOS BlockSmith, EOS Cafe, EOS Canada, EOS Cannon, EOS Costa Rica, EOS Ecosystem, EOS Germany, EOS India, EOS LaoMao, EOS Meso, EOS Nairobi, EOS Nation, EOS Network, EOS New York, EOS NodeOne,  EOS Pacific, EOS Rio, EOS Romania, EOS Silicon Valley, EOSpace, EOS Store, EOSys, EOS TaxRelief, EOS Thu, EOS UK, EOS Worbli, EOS Vibes, EOSvillage, GenerEOS, HuobiPool, JEDA, MeetOne, HelloEOS, TokenPocket, Unlimited EOS.

Visualisation of the 50 peers mesh for Stage 17

Highlights

  • Over 70 participants present on the call
  • Igor from EOS Rio was able to publish to the disco contract using `cleos` and a JSON version of the disco file. It took a few changes because `eos-bios` automatically fills a few empty values so the YAML to JSON wasn't a 1:1 match. The sample YAML file will be updated to include those.
  • 50 peers in the disco contract and 35 marked active. Active means they have published their disco file in the last 30 minutes, we therefore assume they are actively coordinating the launch with the group.
  • Joshua from EOSeco, and ZhaoYu from EOS LaoMao did a great job helping with translations.
  • EOS Canada was randomly selected to boot up this Stage!
  • A few transactions did not go through on the boot process. We suspect running `eos-bios boot` from a laptop, with a proxy to the infra was a bit too slow. We will replay internally with two fixes: remove one hop (run from within the infra) and package transactions in bulk. End of the story is that Stage 17 is not a fully valid chain: this was a great opportunity to see validation tools warn their users. We are expecting everyone's report as to what failed and what is missing on chain.
  • Igor was able to mesh into the EOS BIOS network, all the while being behind a VPN subnet. This is the first test of connecting the BIOS Boot method and Ghostbusters method together and it worked very well.
  • Once booted, we decided to test whether it was possible to pause the chain and restart it. Almost every BP paused their node (except one, for unknown reasons). The last irreversible block went behind the head block by 1800, so every BP halted production (as per the --max-irreversible-block-age flag). We then practiced a chain-shock, where BPs restarted their node with a longer --max-irreversible-block-age, and were able to resurrect the chain. This gave a lot of confidence we could pull that off in a live chain too.
  • JJ from EOS Germany kindly tried to DDoS the EOS Canada nodes and so did Charles from EOS 42, each sending over 40 Gbps our way. While we know they didn't put all their efforts into this, we were glad to see no meaningful impact on our infra and our node was producing and relaying blocks.
    • Note: JJ did take down our Stage 16 node easily (which is a light testing setup). It shows that BPs should not use exclusively EOS Canada's `seed_network_http_address`. If you participated in a previous stage, you can use your own node, still meshed to the seed network, or pick your favorite BPs' node that is also running the seed network.

Next Steps:

  • Test, Test & Test! We're getting better every day with great rehearsals, rapid consensus, multiple BPs able to boot and more validation.
  • EOS Amsterdam suggested we only mesh with active peers. This is being worked on by them and us. Thanks for the suggestion!
  • We need to make sure that injection of transactions by the boot node is absolutely reliable and fast. Otherwise, a lot of people will be waiting for the Boot node, and pizza will get cold. We will be running tests

As Stage 17 did not inject all transactions, we will start off of Stage 16 nodes to launch Stage 18 on next boot.

We will be running the next stage at 1300 UTC of May 31. Please follow along with the EOS BIOS Telegram channel for updates. We encourage those who want to practice amongst themselves to continue to do so and provide further feedback to the community!

For reference, we keep list and timing of staged launches on our website.

For anyone who will be joining for the first time, we invite you to first go through the eos-bios YouTube playlist.

Sort:  

JJ tried with EOS Romania a DDOS attack; same good results on our side as well.

Looking forward to all your future work!

Its so cool to be part of this! What a story! See you at rehearsals this afternoon team!

Congratulations @eos-canada! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

You got a First Reply
Award for the number of posts published
Award for the number of upvotes received

Click on any badge to view your Board of Honor.

To support your work, I also upvoted your post!
For more information about SteemitBoard, click here

If you no longer want to receive notifications, reply to this comment with the word STOP

Do not miss the last announcement from @steemitboard!

Do you like SteemitBoard's project? Vote for its witness and get one more award!