YOLO: An ephemeral test network for Ethereum

Pooja Ranjan
Ethereum Cat Herders
5 min readJun 22, 2020

For the first time, an official ephemeral test network YOLO (You Only Live Once) has been created specifically to test available frameworks of the Ethereum blockchain. As the name suggests, this testnet is not meant to exist in the long-term and will be nuked. It is not a replacement to existing testnets for Ethereum 1.0 chain.

The requirement of an ephemeral testnet surfaced during the discussion of testing BLS curve signature EIP in the Ethereum All Core Developers meeting 87. The Meta EIP-2657 for Ephemeral Testnet YOLO created by the hardfork coordinator James Hancock has a clear mention of the purpose and application. The disclaimer in the EIP reads:

This is for testing basic infrastructure. It will be nuked. It is not for deploying dapps, nor does it define what will go into mainnet. For information on network upgrades, please follow the relevant meta EIPs and ongoing discussion on ethereum/pm.

Launch of YOLO v-1

YOLO was initially conceived for testing of EIP 2537: Precompile for BLS12–381 curve operations but on the suggestion of Péter Szilágyi (Geth), the Ethereum core developers agreed to consider more EIPs to spin up the testnet.

While EIPs for the Berlin upgrade is still under discussion, protocols for the first version of YOLO were shortlisted on all core developers meeting 88, and YOLO v-1 was launched on June 03, 2020.

The first version of the temporary test network includes the latest spec for:

  • EIP 2537: Precompile for BLS12–381 curve operations and
  • EIP 2315: JUMPSUB for the EVM.

YOLO can be joined via Geth with the — yolov1 flag.

On June 10th, OpenEthereum and Besu also merged the PR and synced with the Yolo v-1 testnet. Nethermind was work-in-progress to join in the test network.

Network Identity: Yolov-1

Consensus protocol: Clique — proof-of-authority

(It is important to note that this is not a testnet deployment for the Berlin upgrade, and EIPs tested here may or may not be going live with the next hardfork.)

YOLOv1 with a new IP address

Yolov1 sealer/bootnode is started again on June 22, at a new IP address. Not very far from the re-activation of the YOLO boot node, a crasher on Yolo with Besu and in OpenEthereum are identified. Also, Nethermind could not sync with YOLO. Quick debugging pointed to an error (in Geth) that could have lead to a direct DoS attack. With incredible teamwork, the issue was resolved in no time. While clients are working on joining YOLO testnet, stats of the current network is available at https://stats.yolonet.xyz/.

Chronology of YOLO test network

Challenges faced with YOLO network

(Sequence of events as explained in Ethereum All core Devs meeting 89)

  • After a few days of the launch of the YOLO test network, the whole thing blew up because it went out of disk. Geth team did fix that, since then however something quirky was observed.
  • The interesting thing that happened was that the signer went off.
  • The signer is creating blocks and not even Geth is accepting the blocks created by the Geth signer.
  • The state of the signer was saved for debugging and then nuked. Post-re-starting, it was resynced and the signer started signing again. After about six blocks, it blew up again and no other node in the network was accepted. It meant that the Geth signer does something that is not accepted by normal block processing.
  • Three major clients — Geth, Open Ethereum, and Besu were successfully synced before the network stopped.
  • Further digging up the issue suggested that the signer was not YOLO enabled. It was running on an old version of Geth. Geth team is working on sorting it out.

Frequently Asked Question

Are EIPs for the Berlin upgrade is being tested on Yolo testnet instead of Ropsten and Goreli?

Protocols finalized for Berlin will be testnet about 3–4 weeks prior to the Ethereum main network deployment on testnet(s). Testnet date for the Berlin upgrade is yet to be announced.

Will EIPs tested on YOLO get into Ethereum’s Berlin upgrade?

EIPs tested at YOLO may or may not get into the next network upgrade. However, the first version of the testnet includes EIP 2537 and EIP 2315 which are already accepted for the Berlin upgrade.

Why is YOLO not available to dapp developers?

YOLO is an ephemeral testnet, meaning it will be a short-lived test network. It certainly will be nuked and this is the reason it is not recommended for dapp developers. Moreover, it’s historic that people get upset when a testnet breaks and this is the primary reason to have a separate testnet in the first place. Its focused purpose is testing Client integration and EIPs.

Is there a timeline for other clients to join the YOLO testnet?

Geth, Open Ethereum, and Besu have already joined the Yolov-1 on June 10th and Nethermind is expected to join soon.

Where can I monitor YOLO’s status?

The status of Yolo v1 can be monitored at https://yolonet.xyz/

Where can I find technical details about YOLO?

Technical details are shared by the Geth team here.

YOLO1 testnet is up and running https://yolonet.xyz/

  • Support is baked into Geth master branch via — yolov1
  • Genesis config json is at https://yolonet.xyz/yolo.json
  • EF bootnode at enode://9e1096aa59862a6f164994cb5cb16f5124d6c992cdbf4535ff7dea43ea1512afe5448dca9df1b7ab0726129603f1a3336b631e4d7a1a44c94daddd03241587f9@52.56.120.77:30303
  • enode://9e1096aa59862a6f164994cb5cb16f5124d6c992cdbf4535ff7dea43ea1512afe5448dca9df1b7ab0726129603f1a3336b631e4d7a1a44c94daddd03241587f9@35.178.210.161:30303 (previous IP)
  • There is one Geth signer only.
  • Stats page secret is YOLOv1, with geth you can — ethstats=’yournode:YOLOv1@stats.yolonet.xyz’
  • Faucet is unauthenticated, you can reach it from the dashboard

This is a collection of questions received from the community over the Reddit thread, and other places. The Ethereum Cat Herders are committed to sharing the latest in Ethereum development. If you have any questions related to YOLO testnet, Berlin upgrade or development update in general, feel free to reach Cat Herders at Gitter and Twitter.

(Extending thanks to James Hancock, Hudson Jameson, William Schwab, and the Ethereum Cat Herders for reviewing this article.)

--

--

Pooja Ranjan
Ethereum Cat Herders

Herder-in-chief @EthCatHerders, Founder @ether_world, EIPsInsight.com. I share news and views about blockchain technology. Ethereum.