Skip to content

Commit 7fc8022

Browse files
authored
Merge pull request #124 from ewasm/misc-cleanup
Some misc README cleanup
2 parents 2a8dbe3 + a6ee50b commit 7fc8022

1 file changed

Lines changed: 18 additions & 14 deletions

File tree

README.md

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,16 @@
33
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:
44

55
- Write smart contracts in supported languages and compile them to Wasm bytecode
6-
- Transact on the testnet, including deploying contracts
6+
- Transact on the testnet, such as by deploying smart contracts compiled to Ewasm bytecode
7+
- Run a testnet node locally
78
- Add a node to the testnet
89
- Participate in mining
9-
- Participate in network forks
10+
- Participate in network upgrades
1011
- Contribute to development and devops
1112

1213
## Background
1314

14-
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/).
15+
Ewasm, which stands for Ethereum-flavored WebAssembly, is the primary candidate to replace [EVM](https://github.com/ethereum/wiki/wiki/Ethereum-Virtual-Machine-(EVM)-Awesome-List) (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/).
1516

1617
For more information on Ewasm, please refer to the following resources:
1718

@@ -36,7 +37,7 @@ The team also hosts a (roughly) fortnightly public "Ewasm community hangout" cal
3637

3738
## Writing and compiling smart contracts
3839

39-
One of the [design goals](https://github.com/ewasm/design/blob/master/rationale.md) of the Ewasm project is to support smart contract development in a wide range of languages, using a range of tooling, including existing, mature toolchains such as LLVM (C/C++, Kotlin, Rust, and [many others](https://en.wikipedia.org/wiki/LLVM)) and JavaScript/TypeScript. In theory, any language that can be compiled to Wasm can be used to write a smart contract (as long as it implements the [contract interface](https://github.com/ewasm/design/blob/master/contract_interface.md) and [Ethereum interface](https://github.com/ewasm/design/blob/master/eth_interface.md)). See [awesome-wasm-langs](https://github.com/appcypher/awesome-wasm-langs) for a reasonably up-to-date list of such languages.
40+
One of the [design goals](https://github.com/ewasm/design/blob/master/rationale.md) of the Ewasm project is to support smart contract development in a wide range of languages, using a range of tooling, including existing, mature toolchains such as LLVM (C/C++, Kotlin, Rust, and [many others](https://en.wikipedia.org/wiki/LLVM)) and JavaScript/TypeScript. In theory, any language that can be compiled to Wasm can be used to write a smart contract (as long as it implements the [contract interface](https://github.com/ewasm/design/blob/master/contract_interface.md) and [Ethereum interface](https://github.com/ewasm/design/blob/master/eth_interface.md)). See [awesome-wasm-langs](https://github.com/appcypher/awesome-wasm-langs) for a list of such languages.
4041

4142
At present, we've developed support for the following languages and toolchains:
4243

@@ -45,28 +46,31 @@ At present, we've developed support for the following languages and toolchains:
4546

4647
If you're interested in adding support for another language, framework, or toolset, see the Contributing section above and reach out.
4748

49+
## Differences from mainnet
50+
51+
The Ewasm testnet supports executing EVM 1.0 (Byzantium) bytecode **and** ewasm bytecode. The chain id is set to 0x42 (decimal 66).
52+
53+
There are two further technical differences:
54+
55+
- 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)
56+
- zero bytes in contract bytecode are not subsidised during deployment (they cost the same as non-zero bytes)
57+
4858
## Transacting
4959

5060
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:
5161

5262
- Configure Metamask to use the public node. Open Metamask, tap the network selector at the top, and click Custom RPC. Enter the following URL and click Save: http://ewasm.ethereum.org:8545.
5363
- Browse to the [faucet](http://ewasm.ethereum.org/faucet), make sure it read your public key correctly from Metamask in the "user" section, then tap "request 1 ether from faucet" in the "faucet" section.
54-
- Open the [testnet explorer](http://ewasm.ethereum.org/explorer/) and watch your faucet transaction get mined.
64+
- Click the txid that appears in the "transactions" section and watch your faucet transaction get mined.
5565

5666
Voila! You're now ready to transact on the testnet.
5767

58-
## Differences from mainnet
59-
60-
The Ewasm testnet supports executing EVM 1.0 (Byzantium) bytecode **and** ewasm bytecode. The chain id is set to 0x42 (66).
68+
## Running a testnet node locally
6169

62-
There are two differences:
63-
- code size limit introduced by Spurious Dragon has been lifted and there is no upper limit
64-
- zero bytes in contract bytecode are not subsidised anymore during deployment (they cost the same as non-zero bytes)
70+
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).
6571

6672
## Adding a node to the testnet
6773

68-
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).
69-
7074
### Geth
7175

7276
You may install and configure geth in the following ways:
@@ -252,4 +256,4 @@ Learn how to create and run ewasm tests [here](https://github.com/ewasm/tests/bl
252256

253257
## Testnet Faucet
254258

255-
It is a fork of the [MetaMask faucet](https://faucet.metamask.io/). The fork is maintained [here](https://github.com/ewasm/eth-faucet).
259+
The faucet is a fork of the [MetaMask faucet](https://faucet.metamask.io/). The fork is maintained [here](https://github.com/ewasm/eth-faucet).

0 commit comments

Comments
 (0)