From 59df754c5e74ef915f4731aea8b8dd83f7a39f0c Mon Sep 17 00:00:00 2001 From: Lane Rettig Date: Tue, 13 Nov 2018 11:46:35 -0500 Subject: [PATCH] Some misc README cleanup Saving work in progress. Going to try to merge some in flight PRs and rebase against those. --- README.md | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 0a4ecb2..d483395 100644 --- a/README.md +++ b/README.md @@ -3,15 +3,16 @@ Welcome to the Ewasm public testnet! This repository is the primary point of coordination for the testnet. Read on for more information about how to: - Write smart contracts in supported languages and compile them to Wasm bytecode -- Transact on the testnet, including deploying contracts +- Transact on the testnet, such as by deploying smart contracts compiled to Ewasm bytecode +- Run a testnet node locally - Add a node to the testnet - Participate in mining -- Participate in network forks +- Participate in network upgrades - Contribute to development and devops ## Background -Ewasm, which stands for Ethereum-flavored WebAssembly, is the primary candidate to replace EVM (the Ethereum virtual machine) as part of the Ethereum 2.0 "Shasper" roadmap. It is also proposed for adoption on the Ethereum mainnet. Ewasm is a deterministic smart contract execution engine built on the modern, standard [WebAssembly virtual machine](https://webassembly.org/). +Ewasm, which stands for Ethereum-flavored WebAssembly, is the primary candidate to replace EVM (the Ethereum virtual machine) as part of the Ethereum 2.0 "Serenity" roadmap. It is also proposed for adoption on the Ethereum mainnet. Ewasm is a deterministic smart contract execution engine built on the modern, standard [WebAssembly virtual machine](https://webassembly.org/). For more information on Ewasm, please refer to the following resources: @@ -45,6 +46,15 @@ At present, we've developed support for the following languages and toolchains: If you're interested in adding support for another language, framework, or toolset, see the Contributing section above and reach out. +## Differences from mainnet + +The Ewasm testnet supports executing EVM 1.0 (Byzantium) bytecode **and** ewasm bytecode. The chain id is set to 0x42 (66). + +There are two further technical differences: + +- the code size limit introduced by Spurious Dragon has been lifted and there is no upper limit (as Wasm bytecode is more verbose than the EVM equivalent) +- zero bytes in contract bytecode are not subsidised during deployment (they cost the same as non-zero bytes) + ## Transacting You don't need any special infrastructure to transact on the Ewasm testnet. You may run your own node (see below), or you may use the public node. You may view the list of testnet tools here: http://ewasm.ethereum.org/. Start by requesting test ether from the faucet: @@ -55,17 +65,12 @@ You don't need any special infrastructure to transact on the Ewasm testnet. You Voila! You're now ready to transact on the testnet. -## Differences from mainnet - -The Ewasm testnet supports executing EVM 1.0 (Byzantium) bytecode **and** ewasm bytecode. The chain id is set to 0x42 (66). +## Running a testnet node locally -There are two differences: -- code size limit introduced by Spurious Dragon has been lifted and there is no upper limit -- zero bytes in contract bytecode are not subsidised anymore during deployment (they cost the same as non-zero bytes) +The testnet currently only supports the [go-ethereum](https://github.com/ethereum/go-ethereum) (geth) client. Support for aleth (formerly, cpp-ethereum) is a work in progress and more information may be found [here](aleth.md). ## Adding a node to the testnet -The testnet currently only supports the [go-ethereum](https://github.com/ethereum/go-ethereum) (geth) client. Support for aleth (formerly, cpp-ethereum) is a work in progress and more information may be found [here](aleth.md). ### Geth