diff --git a/.travis-ci.sh b/.travis-ci.sh new file mode 100755 index 00000000..e5847925 --- /dev/null +++ b/.travis-ci.sh @@ -0,0 +1,16 @@ +#!/bin/bash +set -e # halt script on error + +HTMLPROOFER_OPTIONS="./_site --internal-domains=eips.ethereum.org --check-html --check-opengraph --report-missing-names --log-level=:debug --assume-extension --empty-alt-ignore --url-ignore=/EIPS/eip-1,EIPS/eip-1,/EIPS/eip-107,/EIPS/eip-858" + +bundle exec jekyll doctor +bundle exec jekyll build + +if [[ $TASK = 'htmlproofer' ]]; then + bundle exec htmlproofer $HTMLPROOFER_OPTIONS --disable-external +elif [[ $TASK = 'htmlproofer-external' ]]; then + bundle exec htmlproofer $HTMLPROOFER_OPTIONS --external_only +fi + +# Validate GH Pages DNS setup +bundle exec github-pages health-check diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000..cfefee4c --- /dev/null +++ b/.travis.yml @@ -0,0 +1,25 @@ +sudo: false # route your build to the container-based infrastructure for a faster build + +language: ruby + +# Cache Ruby bundles +cache: bundler + +# Assume bundler is being used, therefore +# the `install` step will run `bundle install` by default. +script: "bash -ex .travis-ci.sh" + +env: + global: + - NOKOGIRI_USE_SYSTEM_LIBRARIES=true # speeds up installation of html-proofer + +matrix: + fast_finish: true + include: + - rvm: 2.2.5 + env: TASK='htmlproofer' + - rvm: 2.2.5 + env: TASK='htmlproofer-external' + allow_failures: + - rvm: 2.2.5 + env: TASK='htmlproofer-external' diff --git a/EIPS/eip-1.md b/EIPS/eip-1.md index 8f811514..6c8b250b 100644 --- a/EIPS/eip-1.md +++ b/EIPS/eip-1.md @@ -62,7 +62,7 @@ EIPs can also be superseded by a different EIP, rendering the original obsolete. The possible paths of the status of EIPs are as follows: -![](process.png) +![EIP Process](eip-1/process.png) Some Informational and Process EIPs may also have a status of “Active” if they are never meant to be completed. E.g. EIP 1 (this EIP). @@ -220,10 +220,6 @@ Once the EIP is ready for the repository, the EIP editor will: -- List the EIP in [README.md] - - - - Send a message back to the EIP author with next step. Many EIPs are written and maintained by developers with write access to the Ethereum codebase. The EIP editors monitor EIP changes, and correct any structure, grammar, spelling, or markup mistakes we see. @@ -239,6 +235,8 @@ December 7, 2016: EIP 1 has been improved and will be placed as a PR. February 1, 2016: EIP 1 has added editors, made draft improvements to process, and has merged with Master stream. +March 21, 2018: Minor edits to accommodate new automatically-generated EIP directory on eips.ethereum.org. + [EIP5]: https://github.com/ethereum/EIPs/blob/master/EIPS/eip-5.md [EIP101]: https://github.com/ethereum/EIPs/issues/28 [EIP90]: https://github.com/ethereum/EIPs/issues/90 @@ -266,7 +264,6 @@ February 1, 2016: EIP 1 has added editors, made draft improvements to process, a [formal specification]: https://github.com/ethereum/yellowpaper [the Issues section of this repository]: https://github.com/ethereum/EIPs/issues [markdown]: https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet - [README.md]: README.md "wikilink" [Bitcoin's BIP-0001]: https://github.com/bitcoin/bips [Python's PEP-0001]: https://www.python.org/dev/peps/ diff --git a/EIPS/eip-101.md b/EIPS/eip-101.md index ed457b08..91dd8d86 100644 --- a/EIPS/eip-101.md +++ b/EIPS/eip-101.md @@ -2,7 +2,7 @@ eip: 101 title: Serenity Currency and Crypto Abstraction author: Vitalik Buterin -status: Active +status: Draft type: Standards Track category: Core created: 2015-11-15 diff --git a/EIPS/eip-107.md b/EIPS/eip-107.md index b3945841..494fdca1 100644 --- a/EIPS/eip-107.md +++ b/EIPS/eip-107.md @@ -29,19 +29,19 @@ Account unlocked : ----------------- When the account is already unlocked, the user is presented with the following popup for every transaction that the dapp attempts to make: -![](authorization.png) +![](eip-107/authorization.png) Account locked and no "personal" api exposed via rpc: ----------------- When the account is locked, and the node does not provide access to account unlocking via its rpc interface, the following popup will be presented. This is not ideal since this requires the user to know how to unlock an account: -![](authorization-locked.png) +![](eip-107/authorization-locked.png) Account locked but node exposing the "personal" api via rpc : ----------------- A better option is to ask the user for their password, but this is only possible if the node allows access to the "personal" api via rpc. In such case, the following dialog will be presented to the user so he/she can accept the transaction by providing the password required to unlock the account: -![](authorization-password.png") +![](eip-107/authorization-password.png) Specification diff --git a/EIPS/eip-140.md b/EIPS/eip-140.md index f2c896e9..744db814 100644 --- a/EIPS/eip-140.md +++ b/EIPS/eip-140.md @@ -1,7 +1,7 @@ --- eip: 140 title: REVERT instruction -author: Alex Beregszaszi, Nikolai Mushegian (nikolai@nexusdev.us) +author: Alex Beregszaszi, Nikolai Mushegian type: Standards Track category: Core status: Final diff --git a/EIPS/eip-158.md b/EIPS/eip-158.md index c5dbef19..70dcb4c3 100644 --- a/EIPS/eip-158.md +++ b/EIPS/eip-158.md @@ -4,7 +4,7 @@ title: State clearing author: Vitalik Buterin type: Standards Track category: Core -status: Superseded +status: Replaced created: 2016-10-16 superseded-by: 161 --- diff --git a/EIPS/eip-190.md b/EIPS/eip-190.md index dd0da07e..e256b02c 100644 --- a/EIPS/eip-190.md +++ b/EIPS/eip-190.md @@ -1,7 +1,7 @@ --- eip: 190 title: Ethereum Smart Contract Packaging Standard -Authors: Piper Merriam, Tim Coulter, Denis Erfurt (mhhf), RJ Catalano (VoR0220), Iuri Matias (iurimatias) +author: Piper Merriam, Tim Coulter, Denis Erfurt (mhhf), RJ Catalano (VoR0220), Iuri Matias (iurimatias) status: Final type: Standards Track category: ERC diff --git a/EIPS/eip-211.md b/EIPS/eip-211.md index af0a20c9..6e055017 100644 --- a/EIPS/eip-211.md +++ b/EIPS/eip-211.md @@ -6,7 +6,7 @@ type: Standards Track category: Core status: Final created: 2017-02-13 -replaces: 5,8 +replaces: 5 --- ## Simple Summary diff --git a/EIPS/eip-4.md b/EIPS/eip-4.md index 52e310db..75272712 100644 --- a/EIPS/eip-4.md +++ b/EIPS/eip-4.md @@ -4,7 +4,7 @@ layer: Process title: EIP Classification author: Joseph Chow status: Draft -type: Process +type: Meta created: 2015-11-17 --- diff --git a/EIPS/eip-649.md b/EIPS/eip-649.md index f679b224..22730f74 100644 --- a/EIPS/eip-649.md +++ b/EIPS/eip-649.md @@ -1,12 +1,11 @@ --- eip: 649 title: Metropolis Difficulty Bomb Delay and Block Reward Reduction -Authors: Afri Schoedon, Vitalik Buterin +author: Afri Schoedon, Vitalik Buterin type: Standards Track category: Core status: Final created: 2017-06-21 -replaces: 186 --- ## Simple Summary diff --git a/EIPS/eip-658.md b/EIPS/eip-658.md index e5a7cf5d..d1850a16 100644 --- a/EIPS/eip-658.md +++ b/EIPS/eip-658.md @@ -7,7 +7,6 @@ category: Core status: Final created: 2017-06-30 requires: 140 -replaces: 98 --- ## Abstract diff --git a/EIPS/eip-695.md b/EIPS/eip-695.md index 6da6bc60..58bb9e70 100644 --- a/EIPS/eip-695.md +++ b/EIPS/eip-695.md @@ -1,7 +1,7 @@ --- eip: 695 title: Create `eth_chainId` method for JSON-RPC -author: Isaac Ardis Wei Tang , @tcz001 +author: Isaac Ardis Wei Tang , @tcz001 type: Standards Track category: Interface status: Draft diff --git a/EIPS/eip-721.md b/EIPS/eip-721.md index 975c97de..5b676469 100644 --- a/EIPS/eip-721.md +++ b/EIPS/eip-721.md @@ -6,7 +6,7 @@ type: Standards Track category: ERC status: Draft created: 2018-01-24 -requires: ERC-165 +requires: 165 --- ## Simple Summary diff --git a/EIPS/eip-778.md b/EIPS/eip-778.md index 3931df6c..66ceb111 100644 --- a/EIPS/eip-778.md +++ b/EIPS/eip-778.md @@ -3,7 +3,7 @@ eip: 778 title: Ethereum Node Records (ENR) author: Felix Lange type: Standard Track -category Networking +category: Networking status: Draft created: 2017-11-23 --- @@ -101,4 +101,3 @@ additional metadata. # Copyright Copyright and related rights waived via CC0. - diff --git a/EIPS/eip-8.md b/EIPS/eip-8.md index d00a2f40..006e85c1 100644 --- a/EIPS/eip-8.md +++ b/EIPS/eip-8.md @@ -4,7 +4,7 @@ title: devp2p Forward Compatibility Requirements for Homestead author: Felix Lange status: Final type: Standards Track -layer: Networking +category: Networking created: 2015-12-18 --- diff --git a/EIPS/eip-858.md b/EIPS/eip-858.md index 391e1703..b40ed5a4 100644 --- a/EIPS/eip-858.md +++ b/EIPS/eip-858.md @@ -15,7 +15,7 @@ Reduce the block reward to 1 ETH. The current public Ethereum network has a hashrate that corresponds to a tremendous level of energy consumption. As this energy consumption has a correlated environmental cost the network participants have an ethical obligation to ensure this cost is not higher than necessary. At this time, the most direct way to reduce this cost is to lower the block reward in order to limit the appeal of ETH mining. Unchecked growth in hashrate is also counterproductive from a security standpoint. ## Motivation -The current public Ethereum network has a hashrate of 232 TH/s). This hashrate corresponds to a **lower bound** for power usage of roughly [821 MW](calculations.md) and yearly energy consumption of 7.2 TWh (roughly 0.033% of [total](https://en.wikipedia.org/wiki/List_of_countries_by_electricity_consumption) global electricity consumption). A future switch to full Proof of Stake will solve this issue entirely. Yet that switch remains enough in the future that action should be taken in the interim to limit excess harmful side affects of the present network. +The current public Ethereum network has a hashrate of 232 TH/s). This hashrate corresponds to a **lower bound** for power usage of roughly [821 MW](eip-858/calculations.md) and yearly energy consumption of 7.2 TWh (roughly 0.033% of [total](https://en.wikipedia.org/wiki/List_of_countries_by_electricity_consumption) global electricity consumption). A future switch to full Proof of Stake will solve this issue entirely. Yet that switch remains enough in the future that action should be taken in the interim to limit excess harmful side affects of the present network. ## Specification Block reward to be changed to 1 ETH / block. diff --git a/Gemfile b/Gemfile index b566d37d..b4506e19 100644 --- a/Gemfile +++ b/Gemfile @@ -28,3 +28,5 @@ gem "tzinfo-data", platforms: [:mingw, :mswin, :x64_mingw, :jruby] # Performance-booster for watching directories on Windows gem "wdm", "~> 0.1.0" if Gem.win_platform? + +gem "html-proofer", '>=3.3.1' diff --git a/Gemfile.lock b/Gemfile.lock index 3461dd09..deffda10 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -13,6 +13,7 @@ GEM execjs coffee-script-source (1.11.1) colorator (1.1.0) + colorize (0.8.1) commonmarker (0.17.9) ruby-enum (~> 0.5) concurrent-ruby (1.0.5) @@ -78,6 +79,15 @@ GEM html-pipeline (2.7.1) activesupport (>= 2) nokogiri (>= 1.4) + html-proofer (3.8.0) + activesupport (>= 4.2, < 6.0) + addressable (~> 2.3) + colorize (~> 0.8) + mercenary (~> 0.3.2) + nokogiri (~> 1.8.1) + parallel (~> 1.3) + typhoeus (~> 1.3) + yell (~> 2.0) i18n (0.9.5) concurrent-ruby (~> 1.0) jekyll (3.6.2) @@ -204,6 +214,7 @@ GEM mini_portile2 (~> 2.3.0) octokit (4.8.0) sawyer (~> 0.8.0, >= 0.5.3) + parallel (1.12.1) pathutil (0.16.1) forwardable-extended (~> 2.6) public_suffix (2.0.5) @@ -232,12 +243,14 @@ GEM tzinfo (1.2.5) thread_safe (~> 0.1) unicode-display_width (1.3.0) + yell (2.0.7) PLATFORMS ruby DEPENDENCIES github-pages + html-proofer (>= 3.3.1) jekyll (~> 3.6.2) jekyll-feed (~> 0.6) minima (~> 2.0) diff --git a/_config.yml b/_config.yml index 6287c5a1..b5b2020d 100644 --- a/_config.yml +++ b/_config.yml @@ -18,7 +18,7 @@ description: >- Ethereum Improvement Proposals (EIPs) describe standards for the Ethereum platform, including core protocol specifications, client APIs, and contract standards. -url: "" # the base hostname & protocol for your site, e.g. http://example.com +url: "http://eips.ethereum.org" twitter_username: ethereum github_username: ethereum header_pages: @@ -36,7 +36,7 @@ theme: minima plugins: - jekyll-feed -permalink: slug +permalink: /:slug defaults: - diff --git a/_includes/eipnums.html b/_includes/eipnums.html index 1c4238b6..cd823d54 100644 --- a/_includes/eipnums.html +++ b/_includes/eipnums.html @@ -1,4 +1,4 @@ {% assign eips=include.eips|split:"," %} {% for eipnum in eips %} - {{eipnum}}{% if forloop.last == false %}, {% endif %} + {{eipnum|strip}}{% if forloop.last == false %}, {% endif %} {% endfor %} diff --git a/index.html b/index.html index 1b2c14e0..1f88bdc1 100644 --- a/index.html +++ b/index.html @@ -3,8 +3,6 @@ layout: default title: Home --- -Fork me on GitHub -

EIPs Gitter

Ethereum Improvement Proposals (EIPs) describe standards for the Ethereum platform, including core protocol specifications, client APIs, and contract standards.

@@ -27,16 +25,16 @@ title: Home

Describes any change that affects most or all Ethereum implementations, such as a change to the the network protocol, a change in block or transaction validity rules, proposed application standards/conventions, or any change or addition that affects the interoperability of applications using Ethereum. Furthermore Standard EIPs can be broken down into the following categories.

Core ({{site.pages|where:"type","Standards Track"|where:"category","Core"|size}})

-

Improvements requiring a consensus fork (e.g. EIP5, EIP101), as well as changes that are not necessarily consensus critical but may be relevant to “core dev” discussions (for example, EIP90, and the miner/node strategy changes 2, 3, and 4 of EIP86).

+

Improvements requiring a consensus fork (e.g. EIP5, EIP101), as well as changes that are not necessarily consensus critical but may be relevant to “core dev” discussions (for example, the miner/node strategy changes 2, 3, and 4 of EIP86).

Networking ({{site.pages|where:"type","Standards Track"|where:"category","Networking"|size}})

Includes improvements around devp2p (EIP8) and Light Ethereum Subprotocol, as well as proposed improvements to network protocol specifications of whisper and swarm.

Interface ({{site.pages|where:"type","Standards Track"|where:"category","Interface"|size}})

-

Includes improvements around client API/RPC specifications and standards, and also certain language-level standards like method names (EIP59, EIP6) and contract ABIs. The label “interface” aligns with the interfaces repo and discussion should primarily occur in that repository before an EIP is submitted to the EIPs repository.

+

Includes improvements around client API/RPC specifications and standards, and also certain language-level standards like method names (EIP6) and contract ABIs. The label “interface” aligns with the interfaces repo and discussion should primarily occur in that repository before an EIP is submitted to the EIPs repository.

ERC ({{site.pages|where:"type","Standards Track"|where:"category","ERC"|size}})

-

Application-level standards and conventions, including contract standards such as token standards (ERC20), name registries (ERC26, ERC137), URI schemes (ERC67), library/package formats (EIP82), and wallet formats (EIP75, EIP85).

+

Application-level standards and conventions, including contract standards such as token standards (ERC20), name registries (ERC137), URI schemes (ERC681), library/package formats (EIP190), and wallet formats (EIP85).

Informational ({{site.pages|where:"type","Informational"|size}})

Describes a Ethereum design issue, or provides general guidelines or information to the Ethereum community, but does not propose a new feature. Informational EIPs do not necessarily represent Ethereum community consensus or a recommendation, so users and implementers are free to ignore Informational EIPs or follow their advice.