From 917cb7be4569a81f780766ca52fefa4eb2ceeb75 Mon Sep 17 00:00:00 2001 From: Bruno Skvorc Date: Wed, 3 Apr 2019 13:58:21 +0200 Subject: [PATCH 1/4] Updated some content --- source/_data/sidebar.yml | 6 +++++- themes/navy/languages/en.yml | 4 ++++ themes/navy/layout/partial/footer.swig | 8 ++++---- themes/navy/layout/partial/header-nav.swig | 6 +++--- themes/navy/layout/partial/header.swig | 6 +++--- themes/navy/source/scss/sidebar.scss | 8 ++++++-- 6 files changed, 25 insertions(+), 13 deletions(-) diff --git a/source/_data/sidebar.yml b/source/_data/sidebar.yml index a5fbc33..82d725a 100644 --- a/source/_data/sidebar.yml +++ b/source/_data/sidebar.yml @@ -4,7 +4,11 @@ docs: building: building.html # milestones: milestones.html design: design.html - team: team.html + # team: team.html faq: faq.html contributor_guide: contributor_guide.html + Guides: + Testnet 0: t0.html + Testnet 1: t1.html + Custom Testnet: custom-nimbus-testnet.html \ No newline at end of file diff --git a/themes/navy/languages/en.yml b/themes/navy/languages/en.yml index fc6ab95..8c8694a 100644 --- a/themes/navy/languages/en.yml +++ b/themes/navy/languages/en.yml @@ -30,3 +30,7 @@ sidebar: team: Team options: Beyond the Basics contributor_guide: Contributor Guide + Testnet 0: Testnet 0 + Testnet 1: Testnet 1 + Custom Testnet: Custom Testnet + Guides: Guides diff --git a/themes/navy/layout/partial/footer.swig b/themes/navy/layout/partial/footer.swig index 5bbd984..15e6630 100644 --- a/themes/navy/layout/partial/footer.swig +++ b/themes/navy/layout/partial/footer.swig @@ -7,9 +7,9 @@ @@ -18,7 +18,7 @@ diff --git a/themes/navy/layout/partial/header-nav.swig b/themes/navy/layout/partial/header-nav.swig index 06f5249..7d189c6 100644 --- a/themes/navy/layout/partial/header-nav.swig +++ b/themes/navy/layout/partial/header-nav.swig @@ -1,9 +1,9 @@ \ No newline at end of file diff --git a/themes/navy/layout/partial/header.swig b/themes/navy/layout/partial/header.swig index d9333ad..1b8ae5f 100644 --- a/themes/navy/layout/partial/header.swig +++ b/themes/navy/layout/partial/header.swig @@ -1,6 +1,6 @@
- + {{ partial('partial/header-nav') }}
@@ -10,11 +10,11 @@
- +
  • Blog
  • -
  • Docs
  • +
  • Docs
  • Projects
      diff --git a/themes/navy/source/scss/sidebar.scss b/themes/navy/source/scss/sidebar.scss index fb488b8..510e3fe 100644 --- a/themes/navy/source/scss/sidebar.scss +++ b/themes/navy/source/scss/sidebar.scss @@ -9,7 +9,7 @@ $sidebar-width: 30%; display: none; } strong { - display: none; + // display: none; } } } @@ -17,7 +17,7 @@ $sidebar-width: 30%; .sidebar-title { margin-top: 40px; padding: 10px 0; - font-family: font-title; + // font-family: font-title; font-weight: bold; color: color-title; display: inline-block; @@ -25,6 +25,10 @@ $sidebar-width: 30%; line-height: 1; } +.sidebar-title:first-child { + margin-top: 0; +} + .sidebar-link { border-radius: 23.5px; font-size: 15px; From 34d1379a2d743ebd7eb6d83bcbe6352449d2c2ba Mon Sep 17 00:00:00 2001 From: Bruno Skvorc Date: Wed, 3 Apr 2019 13:59:08 +0200 Subject: [PATCH 2/4] Updated some content --- themes/navy/layout/index.swig | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/themes/navy/layout/index.swig b/themes/navy/layout/index.swig index f6e3d10..36c6bec 100644 --- a/themes/navy/layout/index.swig +++ b/themes/navy/layout/index.swig @@ -129,7 +129,7 @@

- +

Dustin Brody

Pure Quickwitted Indianglassfish

@@ -152,6 +152,14 @@

+
+ +

Kim De Mey

+

? ? ?

+

See Github profile + +

+

Read our Blog

From 653f6e7db4fe6ee19a6ac36465a0957639a882b8 Mon Sep 17 00:00:00 2001 From: Bruno Skvorc Date: Wed, 3 Apr 2019 13:59:25 +0200 Subject: [PATCH 3/4] Updated some content --- source/docs/custom-nimbus-testnet.md | 72 ++++++++++++++++++++++++++++ source/docs/t0.md | 24 ++++++++++ source/docs/t1.md | 8 ++++ 3 files changed, 104 insertions(+) create mode 100644 source/docs/custom-nimbus-testnet.md create mode 100644 source/docs/t0.md create mode 100644 source/docs/t1.md diff --git a/source/docs/custom-nimbus-testnet.md b/source/docs/custom-nimbus-testnet.md new file mode 100644 index 0000000..2edbf66 --- /dev/null +++ b/source/docs/custom-nimbus-testnet.md @@ -0,0 +1,72 @@ +--- +id: custom-nimbus-testnet +title: Creating your own Nimbus testnet +--- + +## Building your own Nimbus testnet + +All beacon nodes joining your custom testnet MUST be compiled with the same beacon chain constants - i.e. if a node is compiled with 8 slots per epoch, one with 16 slots per epoch will not be compatible with it. With that in mind, let's do this step of building the basic beacon node binary from within `vendor/nim-beacon-chain`, and let's also build the tool that can generate validator keys. + +If you haven't cloned Nimbus already, do it now: + +```bash +git clone https://github.com/status-im/nimbus +cd nimbus +make update +cd vendor/nim-beacon-chain +``` + +Then let's build the binaries of the tools we'll need. + +```bash +export NIMFLAGS="-d:release -d:SECONDS_PER_SLOT=30 -d:SHARD_COUNT=8 -d:SLOTS_PER_EPOCH=8" \ +&& make beacon_node validator_keygen +``` + +This will place the `beacon_node` binary and the `validator_keygen` tool in `build` in the current folder, i.e. `vendor/nim-beacon-chain`. + +Let's generate the folders where the node will store its data and then add the validator keys in there. I picked 500 keys. + +```bash +mkdir -p $HOME/testnets/custom-network/data +./build/validator_keygen --totalValidators=500 --outputDir="$HOME/testnets/custom-network" +``` + +This will have placed 500 private key files and 500 public key files into the specified output folder. + +Next, let's have the node generate a testnet for us with all the bells and whistles we might need to have others connect to us. + +```bash +export NETWORK_DIR=$HOME/testnets/custom-network && ./build/beacon_node \ +--dataDir=$NETWORK_DIR/data \ +createTestnet \ +--networkId=666 \ +--validatorsDir=$NETWORK_DIR \ +--totalValidators=500 \ +--outputGenesis=$NETWORK_DIR/genesis.json \ +--outputNetwork=$NETWORK_DIR/custom-network.json \ +--bootstrapAddress=$(curl -s ifconfig.me) \ +--bootstrapPort=34000 \ +--genesisOffset=600 +``` + +- We set the home folder of the custom network, pass it to the required params and have it generate the genesis file and the metadata file for others to join us through. +- The bootstrap address part is dynamically generated from the ifconfig.me service - you can manually input your public IP address here if you know it or if that service fails to detect it - test with `curl -s ifconfig.me` on the command line. +- The port is optional but recommended so you don't get some cross-chain noise when accidentally connecting to other nodes on the default port. +- The `genesisOffset` flag sets the time of genesis to some time in the future - in this case 10 minutes. We do this to give everyone who intends to join ample chance to join on genesis time because if they don't and the chain expects validators to be there and perform their duties, they'll be seen as offline and penalized and eventually kicked off the beacon chain. + +Running the above command will result in two new files being created. In my case `$HOME/testnets/custom-network/genesis.json` and `$HOME/testnets/custom-network/custom-network.json`. + +We are now ready to connect and to share these files with those who would connect to us. Please note that in order to allow others to connect to you, you need to open the port you chose manually on your router and firewall for as long as Nimbus doesn't yet have UPnP implemented. If you're hosting your bootnode on something like DigitalOcean or AWS, there are firewall controls there that are quite intuitive. For your own local computer, please consult your router's manual on how to do that. + +The `genesis.json` file is the starting state, "block 0" of your testnet beacon chain. It contains the listed validators, initial shufflings, and everything the system needs in order to have the clients connecting to the network build on the same foundation. The `custom-network.json` file is the "metadata" file of your new network - it has identified your node, the one this file was generated with - as the bootstrap node and included its enode address under `bootstrapNodes`, along with the other required data and the root of the genesis. You can host these two files on a server somewhere or in a [Github Gist](https://gist.github.com) anyone grabbing them will be able to join your network if they execute the command: + +```bash +./build/beacon_node --network=$HOME/testnets/custom-network/custom-network.json --stateSnapshot=$HOME/testnets/custom-network/genesis.json --tcpPort=34001 --udpPort=34001 +``` + +However, they MUST first build their beacon node with the same parameters you did in the beginning of this setup. + +Congrats, you have a custom Nimbus testnet up and running! + +[![Screenshot-from-2019-03-29-21-25-15](https://our.status.im/content/images/2019/03/Screenshot-from-2019-03-29-21-25-15.png)](https://our.status.im/content/images/2019/03/Screenshot-from-2019-03-29-21-25-15.png) \ No newline at end of file diff --git a/source/docs/t0.md b/source/docs/t0.md new file mode 100644 index 0000000..29d31d1 --- /dev/null +++ b/source/docs/t0.md @@ -0,0 +1,24 @@ +--- +id: t0 +title: Joining Nimbus Testnet0 +--- + +This document is a very short guide on how to join our testnet. For a full explanation of what's going on behind the scenes, please see the official [announcement post](https://our.status.im/the-nimbus-mvp-testnet-is-here/). + +## Joining Nimbus Testnet 0 + +Here is the full process if you're starting from scratch, without even Nim installed (you still need RocksDB though, so [install that first](https://github.com/status-im/nimbus#rocksdb)): + +```bash +# Ensure you have rocksdb installed before running this! +git clone https://github.com/status-im/nimbus +cd nimbus +make update # this might take a few minutes +cd vendor/nim-beacon-chain # All Ethereum 2.0 functionality is in here +make testnet0 +./build/testnet0_node # this launches the testnet0-specific node you just built +``` + +Congratulations, you should now be joining us - your node will start syncing with the current state of our beacon chain. Once you're in sync, you should also start proposing your own blocks and providing attestations - exciting! You are now among [Ethereum 2.0 Nimbus pioneers](https://gitcoin.co/kudos/1160/nimbus_pilot)! + +[![](https://our.status.im/content/images/2019/03/Annotation-2019-03-29-202131-1.png)](https://our.status.im/content/images/2019/03/Annotation-2019-03-29-202131-1.png) \ No newline at end of file diff --git a/source/docs/t1.md b/source/docs/t1.md new file mode 100644 index 0000000..a93eec2 --- /dev/null +++ b/source/docs/t1.md @@ -0,0 +1,8 @@ +--- +id: t1 +title: Joining Nimbus Testnet1 +--- + +## Joining Nimbus Testnet 1 + +Testnet1 is under construction - announcement coming soon. \ No newline at end of file From 4c537fd365d66a54d80541b0d0a863304a450adc Mon Sep 17 00:00:00 2001 From: Bruno Skvorc Date: Wed, 3 Apr 2019 14:34:59 +0200 Subject: [PATCH 4/4] Added images for tersec and kdeme --- themes/navy/source/img/kdeme_moot.png | Bin 0 -> 1521 bytes themes/navy/source/img/tersec_moot.png | Bin 0 -> 1502 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 themes/navy/source/img/kdeme_moot.png create mode 100644 themes/navy/source/img/tersec_moot.png diff --git a/themes/navy/source/img/kdeme_moot.png b/themes/navy/source/img/kdeme_moot.png new file mode 100644 index 0000000000000000000000000000000000000000..6bf7995afdc0a594ce6e31752eaac3db951f6656 GIT binary patch literal 1521 zcmeAS@N?(olHy`uVBq!ia0y~yU|a&i985rwk9x8mkUytzzI{bCzgdxpDKoVvZlx8`k~H?fJ<1;bmPIKf?^iHw`QsnT3w(l@M literal 0 HcmV?d00001 diff --git a/themes/navy/source/img/tersec_moot.png b/themes/navy/source/img/tersec_moot.png new file mode 100644 index 0000000000000000000000000000000000000000..03c8fcd1869aaf3908d6630bcd417131429aeabc GIT binary patch literal 1502 zcmeAS@N?(olHy`uVBq!ia0y~yU|a&i985rwk9x3 zcbnN_Vx|0T;kx^ezuuX5K(nIEq3H%AXA-+ghwKD}QO;->49awHC^v1JdCb*4{ckx% zY~#+q<(&TH=I~Fochb_TnGekWOuquKWj?T|{{O%4rQq(O$Xh-@4uhwwpUXO@geCy& CJKD