diff --git a/404.html b/404.html new file mode 100644 index 00000000..c472b4ea --- /dev/null +++ b/404.html @@ -0,0 +1,24 @@ +--- +layout: default +--- + + + +
+

404

+ +

Page not found :(

+

The requested page could not be found.

+
diff --git a/CNAME b/CNAME new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ + diff --git a/Gemfile b/Gemfile new file mode 100644 index 00000000..2e3154aa --- /dev/null +++ b/Gemfile @@ -0,0 +1,27 @@ +source "https://rubygems.org" + +# Hello! This is where you manage which Jekyll version is used to run. +# When you want to use a different version, change it below, save the +# file and run `bundle install`. Run Jekyll with `bundle exec`, like so: +# +# bundle exec jekyll serve +# + +# This is the default theme for new Jekyll sites. You may change this to anything you like. +gem "minima", "~> 2.0" + +# If you have any plugins, put them here! +group :jekyll_plugins do + gem "jekyll-feed", "~> 0.6" + gem "github-pages", "198" +end + +# Windows does not include zoneinfo files, so bundle the tzinfo-data gem +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 new file mode 100644 index 00000000..7c44f44e --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,270 @@ +GEM + remote: https://rubygems.org/ + specs: + activemodel (4.2.11.1) + activesupport (= 4.2.11.1) + builder (~> 3.1) + activesupport (4.2.11.1) + i18n (~> 0.7) + minitest (~> 5.1) + thread_safe (~> 0.3, >= 0.3.4) + tzinfo (~> 1.1) + addressable (2.6.0) + public_suffix (>= 2.0.2, < 4.0) + builder (3.2.3) + coffee-script (2.4.1) + coffee-script-source + execjs + coffee-script-source (1.11.1) + colorator (1.1.0) + commonmarker (0.17.13) + ruby-enum (~> 0.5) + concurrent-ruby (1.1.5) + dnsruby (1.61.2) + addressable (~> 2.5) + em-websocket (0.5.1) + eventmachine (>= 0.12.9) + http_parser.rb (~> 0.6.0) + ethon (0.12.0) + ffi (>= 1.3.0) + eventmachine (1.2.7) + execjs (2.7.0) + faraday (0.15.4) + multipart-post (>= 1.2, < 3) + ffi (1.11.1) + forwardable-extended (2.6.0) + front_matter_parser (0.1.1) + gemoji (3.0.1) + github-pages (198) + activesupport (= 4.2.11.1) + github-pages-health-check (= 1.16.1) + jekyll (= 3.8.5) + jekyll-avatar (= 0.6.0) + jekyll-coffeescript (= 1.1.1) + jekyll-commonmark-ghpages (= 0.1.5) + jekyll-default-layout (= 0.1.4) + jekyll-feed (= 0.11.0) + jekyll-gist (= 1.5.0) + jekyll-github-metadata (= 2.12.1) + jekyll-mentions (= 1.4.1) + jekyll-optional-front-matter (= 0.3.0) + jekyll-paginate (= 1.1.0) + jekyll-readme-index (= 0.2.0) + jekyll-redirect-from (= 0.14.0) + jekyll-relative-links (= 0.6.0) + jekyll-remote-theme (= 0.3.1) + jekyll-sass-converter (= 1.5.2) + jekyll-seo-tag (= 2.5.0) + jekyll-sitemap (= 1.2.0) + jekyll-swiss (= 0.4.0) + jekyll-theme-architect (= 0.1.1) + jekyll-theme-cayman (= 0.1.1) + jekyll-theme-dinky (= 0.1.1) + jekyll-theme-hacker (= 0.1.1) + jekyll-theme-leap-day (= 0.1.1) + jekyll-theme-merlot (= 0.1.1) + jekyll-theme-midnight (= 0.1.1) + jekyll-theme-minimal (= 0.1.1) + jekyll-theme-modernist (= 0.1.1) + jekyll-theme-primer (= 0.5.3) + jekyll-theme-slate (= 0.1.1) + jekyll-theme-tactile (= 0.1.1) + jekyll-theme-time-machine (= 0.1.1) + jekyll-titles-from-headings (= 0.5.1) + jemoji (= 0.10.2) + kramdown (= 1.17.0) + liquid (= 4.0.0) + listen (= 3.1.5) + mercenary (~> 0.3) + minima (= 2.5.0) + nokogiri (>= 1.8.5, < 2.0) + rouge (= 2.2.1) + terminal-table (~> 1.4) + github-pages-health-check (1.16.1) + addressable (~> 2.3) + dnsruby (~> 1.60) + octokit (~> 4.0) + public_suffix (~> 3.0) + typhoeus (~> 1.3) + html-pipeline (2.11.0) + activesupport (>= 2) + nokogiri (>= 1.4) + html-proofer (3.11.0) + activesupport (>= 4.2, < 6.0) + addressable (~> 2.3) + mercenary (~> 0.3.2) + nokogiri (~> 1.9) + parallel (~> 1.3) + rainbow (~> 3.0) + typhoeus (~> 1.3) + yell (~> 2.0) + http_parser.rb (0.6.0) + i18n (0.9.5) + concurrent-ruby (~> 1.0) + jekyll (3.8.5) + addressable (~> 2.4) + colorator (~> 1.0) + em-websocket (~> 0.5) + i18n (~> 0.7) + jekyll-sass-converter (~> 1.0) + jekyll-watch (~> 2.0) + kramdown (~> 1.14) + liquid (~> 4.0) + mercenary (~> 0.3.3) + pathutil (~> 0.9) + rouge (>= 1.7, < 4) + safe_yaml (~> 1.0) + jekyll-avatar (0.6.0) + jekyll (~> 3.0) + jekyll-coffeescript (1.1.1) + coffee-script (~> 2.2) + coffee-script-source (~> 1.11.1) + jekyll-commonmark (1.3.1) + commonmarker (~> 0.14) + jekyll (>= 3.7, < 5.0) + jekyll-commonmark-ghpages (0.1.5) + commonmarker (~> 0.17.6) + jekyll-commonmark (~> 1) + rouge (~> 2) + jekyll-default-layout (0.1.4) + jekyll (~> 3.0) + jekyll-feed (0.11.0) + jekyll (~> 3.3) + jekyll-gist (1.5.0) + octokit (~> 4.2) + jekyll-github-metadata (2.12.1) + jekyll (~> 3.4) + octokit (~> 4.0, != 4.4.0) + jekyll-mentions (1.4.1) + html-pipeline (~> 2.3) + jekyll (~> 3.0) + jekyll-optional-front-matter (0.3.0) + jekyll (~> 3.0) + jekyll-paginate (1.1.0) + jekyll-readme-index (0.2.0) + jekyll (~> 3.0) + jekyll-redirect-from (0.14.0) + jekyll (~> 3.3) + jekyll-relative-links (0.6.0) + jekyll (~> 3.3) + jekyll-remote-theme (0.3.1) + jekyll (~> 3.5) + rubyzip (>= 1.2.1, < 3.0) + jekyll-sass-converter (1.5.2) + sass (~> 3.4) + jekyll-seo-tag (2.5.0) + jekyll (~> 3.3) + jekyll-sitemap (1.2.0) + jekyll (~> 3.3) + jekyll-swiss (0.4.0) + jekyll-theme-architect (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-cayman (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-dinky (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-hacker (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-leap-day (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-merlot (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-midnight (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-minimal (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-modernist (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-primer (0.5.3) + jekyll (~> 3.5) + jekyll-github-metadata (~> 2.9) + jekyll-seo-tag (~> 2.0) + jekyll-theme-slate (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-tactile (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-time-machine (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-titles-from-headings (0.5.1) + jekyll (~> 3.3) + jekyll-watch (2.2.1) + listen (~> 3.0) + jemoji (0.10.2) + gemoji (~> 3.0) + html-pipeline (~> 2.2) + jekyll (~> 3.0) + kramdown (1.17.0) + liquid (4.0.0) + listen (3.1.5) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) + ruby_dep (~> 1.2) + mercenary (0.3.6) + mini_portile2 (2.4.0) + minima (2.5.0) + jekyll (~> 3.5) + jekyll-feed (~> 0.9) + jekyll-seo-tag (~> 2.1) + minitest (5.11.3) + multipart-post (2.1.1) + nokogiri (1.10.4) + mini_portile2 (~> 2.4.0) + octokit (4.14.0) + sawyer (~> 0.8.0, >= 0.5.3) + parallel (1.17.0) + pathutil (0.16.2) + forwardable-extended (~> 2.6) + public_suffix (3.1.1) + rainbow (3.0.0) + rb-fsevent (0.10.3) + rb-inotify (0.10.0) + ffi (~> 1.0) + rouge (2.2.1) + ruby-enum (0.7.2) + i18n + ruby_dep (1.5.0) + rubyzip (1.3.0) + safe_yaml (1.0.5) + sass (3.7.4) + sass-listen (~> 4.0.0) + sass-listen (4.0.0) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) + sawyer (0.8.2) + addressable (>= 2.3.5) + faraday (> 0.8, < 2.0) + terminal-table (1.8.0) + unicode-display_width (~> 1.1, >= 1.1.1) + thread_safe (0.3.6) + typhoeus (1.3.1) + ethon (>= 0.9.0) + tzinfo (1.2.5) + thread_safe (~> 0.1) + unicode-display_width (1.6.0) + yell (2.2.0) + +PLATFORMS + ruby + +DEPENDENCIES + eip_validator (>= 0.8.2) + github-pages (= 198) + html-proofer (>= 3.3.1) + jekyll-feed (~> 0.6) + minima (~> 2.0) + tzinfo-data + +BUNDLED WITH + 1.16.1 diff --git a/ISSUE_TEMPLATE.md b/ISSUE_TEMPLATE.md new file mode 100644 index 00000000..d68a3290 --- /dev/null +++ b/ISSUE_TEMPLATE.md @@ -0,0 +1,12 @@ + +ATTENTION! If you would like to submit an KIP and it has already been written as a draft (see the [template](https://github.com/klaytn/KIPs/blob/master/kip-template.md) for an example), please submit it as a [Pull Request](https://github.com/klaytn/KIPs/pulls). + +If you are considering a proposal but would like to get some feedback on the idea before submitting a draft, then continue opening an Issue as a thread for discussion. Note that the more clearly and completely you state your idea the higher the quality of the feedback you are likely to receive. + +Keep in mind the following guidelines from [KIP-1](https://ground-x.github.io/KIPs/kip-1): + +> Each KIP must have a champion - someone who writes the KIP using the style and format described below, shepherds the discussions in the appropriate forums, and attempts to build community consensus around the idea. The KIP champion (a.k.a. Author) should first attempt to ascertain whether the idea is KIP-able. Posting to the the Protocol Discussion forum or opening an Issue is the best way to go about this. + +> Vetting an idea publicly before going as far as writing a KIP is meant to save the potential author time. Asking the Klaytn community first if an idea is original helps prevent too much time being spent on something that is guaranteed to be rejected based on prior discussions (searching the Internet does not always do the trick). It also helps to make sure the idea is applicable to the entire community and not just the author. Just because an idea sounds good to the author does not mean it will work for most people in most areas where Klaytn is used. + +> Once the champion has asked the Klaytn community as to whether an idea has any chance of acceptance, a draft KIP should be presented as a Pull Request. This gives the author a chance to flesh out the draft KIP to make properly formatted, of high quality, and to address initial concerns about the proposal. diff --git a/PULL_REQUEST_TEMPLATE.md b/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 00000000..8d73b03a --- /dev/null +++ b/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,8 @@ +When opening a pull request to submit a new KIP, please use the suggested template: https://github.com/klaytn/KIPs/blob/master/kip-template.md + +We have a GitHub bot that automatically merges some PRs. It will merge yours immediately if certain criteria are met: + + - The PR edits only existing draft PRs. + - The build passes. + - Your Github username or email address is listed in the 'author' header of all affected PRs, inside . + - If matching on email address, the email address is the one publicly listed on your GitHub profile. diff --git a/README.md b/README.md new file mode 100644 index 00000000..83b516a1 --- /dev/null +++ b/README.md @@ -0,0 +1,31 @@ +## Klaytn Improvement Proposals (KIPs) + +Klaytn Improvement Proposals (KIPs) describe standards for the Klaytn platform, including core protocol specifications, client APIs, and contract standards. + +## Contributing + + 1. Review [KIP-1](KIPs/kip-1.md). + 2. Fork the repository by clicking "Fork" in the top right. + 3. Add your KIP to your fork of the repository. There is a [template KIP here](https://github.com/ground-x/KIPs/blob/master/kip-template.md). + 4. Submit a Pull Request to Klaytn's [KIPs repository](https://github.com/ground-x/KIPs). + +Your first PR should be a first draft of the final KIP. It must meet the formatting criteria enforced by the build (largely, correct metadata in the header). An editor will manually review the first PR for a new KIP and assign it a number before merging it. Make sure you include a `discussions-to` header with the URL to a discussion forum or open GitHub issue where people can discuss the KIP as a whole. + +If your KIP requires images, the image files should be included in a subdirectory of the `assets` folder for that KIP as follows: `assets/kip-N` (where **N** is to be replaced with the KIP number). When linking to an image in the KIP, use relative links such as `../assets/kip-1/image.png`. + +Once your first PR is merged, we have a bot that helps out by automatically merging PRs to draft KIPs. For this to work, it has to be able to tell that you own the draft being edited. Make sure that the 'author' line of your KIP contains either your Github username or your email address inside . If you use your email address, that address must be the one publicly shown on [your GitHub profile](https://github.com/settings/profile). + +When you believe your KIP is mature and ready to progress past the draft phase, you should do the following: + + - Open a PR changing the state of your KIP to 'Last Call'. An editor will review your draft and see if there is a rough consensus to move forward. If there are significant issues with the KIP - they may close the PR and request that you fix the issues in the draft before trying again. + - Before moving to 'Last Call', a reference implementation of the KIP should be provided. + +## KIP Status Terms + +* **Draft** - a KIP that is undergoing rapid iteration and changes. +* **Last Call** - a KIP that is done with its initial iteration and ready for review by a wide audience for two weeks. +* **Accepted** - a KIP that has been in 'Last Call' for at least 2 weeks, any technical changes that were requested have been addressed by the author, and finally get approved by the Klaytn core developers. +* **Final** - a KIP that has been released as a standard specification. If a Core KIP is in 'Final', its implementation has been included in at least one Klaytn client. + + +{% include types_lastcall.html %} diff --git a/TERMS-OF-USE.md b/TERMS-OF-USE.md new file mode 100644 index 00000000..945bd6ae --- /dev/null +++ b/TERMS-OF-USE.md @@ -0,0 +1,35 @@ +# Terms of Use + +## 1. Your Use of Open Source Software + +We may make (but are not obligated to make) the source code of Klaytn Blockchain Network Platform ("Platform"), the software on the Platform, etc. for download as open source software. If you use this open source software, you agree to be bound by and comply with any license that applies to this open source software. You will not indicate that you are associated with us in connection with your use, modifications or distributions of this open source software. + +## 2. Services Provided on the Platform + +The Platform is a combination of peer-to-peer subnetworks of nodes transmitting transactions and blocks to execute value transfers and run smart contracts. The Core Cell Network ("CCN"), which is one of the subnetworks that constitute the Platform, verifies and executes transactions that occur on the Platform. The CCN is operated by Klaytn Governance Council, which is a collective group of Core Cell Operators, and Klaytn is not directly involved in any services that are provided in or individual transactions that occur on the Platform. + +## 3. Your Installation of BApp on the Platform + +Your use of open source software is free of charge. However, you may be required to pay a certain number of KLAY as a transaction fee in order to execute a transaction on the Platform, including the installation of the BApp on the Platform. + +Once transaction is executed successfully and respective block generation is verified successfully by the Platform’s mechanism, the block is irreversibly stored in the blockchain. As such, your installation of the BApp and any other transactions on the Platform, as well as the submission of transaction fee is final and irrevocable. + +## 4. User Content + +If you or the users of your BApp post, upload, input, provide or submit any content on the Platform (collectively, your "User Content"), you must ensure that the User Content provided by you or the users of your BApp at that or at any other time is true, accurate, up to date and complete and that any User Content you or the users of your BApp post, upload, input, provide or submit via the Platform do not breach or infringe legal rights of any third party. To the extent that is technically possible, you agree to prevent, remove or block access of any User Content that you or the users of your BApp post, upload, input, provide or submit via the Platform that violate or may violate legal rights (such as rights of privacy and publicity) of others or any applicable laws or regulations. We do not own, control or endorse any User Content that is transmitted, stored or processed via the Platform or sent to us and we are not responsible or liable for any User Content. We make no assurance that any of Your Content will be secured or that such content will remain confidential. + +You are solely responsible and liable for all of your User Content and for your use of any interactive features, links or information or content on the Platform, and you represent and warrant that (i) you own all intellectual property rights (or have obtained all necessary permissions) to provide your User Content and to grant the licenses in these Terms of Use; (ii) your User Content will not violate any agreements or confidentiality obligations; and (iii) your User Content will not violate, infringe or misappropriate any intellectual property right or other proprietary right, including the right of publicity or privacy, of any person or entity. + +You shall not include in User Content, or upload, transmit to or create or include in the Services environment any production data or any sensitive, proprietary, confidential or other data with particular data protection requirements such as personal data or personally identifiable information relating to an identified or identifiable natural person. + +You are prohibited from using the Platform to post or transmit any threatening, libellous, defamatory, obscene, scandalous, inflammatory, pornographic or profane material, any material that is contrary to applicable local, federal, or international laws and regulations, or any material that could constitute or encourage unlawful conduct. You must ensure that your User Content do not include such materials. We may from time to time monitor or review material transmitted or posted using the Network, and we reserve the right to delete any material we deem inappropriate. + +We are under no obligation to do so and assume no responsibility or liability arising from any material transmitted or posted using the Platform. + +You understand that any information you or users of your BApp upload to the Platform will be distributed among the blockchain nodes and may not removable due to technical limitations of the blockchain technology. + +You are entirely responsible for any and all activities that occur under your account or your BApp (if any). You agree to notify us immediately of any unauthorized use of your User Content, your BApp or account or any other breach of security. We will not be liable for any loss or damages that you may incur as a result of someone else using your User Content, your BApp or account, either with or without your knowledge. However, you could be held liable for losses incurred by us or another party due to someone else using your User Content, your BApp or account. You may not use anyone else’s User Content, your BApp or account at any time without the permission of such person or entity. + +By posting, uploading, inputting, providing or submitting your User Content to the Platform, you grant to participants of the Platform and any necessary sub-licensees a non-exclusive, worldwide, perpetual, right and permission to use, reproduce, copy, edit, modify, translate, reformat, create derivative works from, distribute, transmit, publicly perform and publicly display your User Content and sub-license such rights to others. + +If we have reason to believe that there is likely to be a breach of security, breach or misuse of the Platform or if you breach any of your obligations under these terms, we may suspend your use of the Platform at any time and for any reason. diff --git a/_config.yml b/_config.yml new file mode 100644 index 00000000..59a19760 --- /dev/null +++ b/_config.yml @@ -0,0 +1,73 @@ +# Welcome to Jekyll! +# +# This config file is meant for settings that affect your whole blog, values +# which you are expected to set up once and rarely edit after that. If you find +# yourself editing this file very often, consider using Jekyll's data files +# feature for the data you need to update frequently. +# +# For technical reasons, this file is *NOT* reloaded automatically when you use +# 'bundle exec jekyll serve'. If you change this file, please restart the server process. + +# Site settings +# These are used to personalize your new site. If you look in the HTML files, +# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on. +# You can create any custom variable you would like, and they will be accessible +# in the templates via {{ site.myvariable }}. +title: Klaytn Improvement Proposals +description: >- + Klaytn Improvement Proposals (KIPs) describe standards for the Klaytn + platform, including core protocol specifications, client APIs, and contract + standards. +url: "https://ground-x.github.io/KIPs/" +twitter_username: klaytn_official +github_username: ground-x +facebook_username: klaytn.official +medium_username: klaytn +header_pages: + - all.html + - core.html + - networking.html + - storage.html + - interface.html + - token.html + - sdk.html + - application.html + - meta.html + - informational.html +twitter: + card: summary + username: klaytn_official +facebook: + publisher: https://www.facebook.com/klaytn.official + +# Build settings +markdown: kramdown +theme: minima +kramdown: + parse_block_html: false + # This is the default, but be explicit as some KIPs depend on it + auto_ids: true + # This is to ensure more determistic behaviour + auto_id_stripping: true + +permalink: /:slug + +defaults: + - + scope: + path: "KIPs" + values: + layout: "kip" + +exclude: + - Gemfile + - Gemfile.lock + - node_modules + - vendor/bundle/ + - vendor/cache/ + - vendor/gems/ + - vendor/ruby/ + - kip-template.md + - ISSUE_TEMPLATE.md + - PULL_REQUEST_TEMPLATE.md +# - README.md diff --git a/_data/statuses.yaml b/_data/statuses.yaml new file mode 100644 index 00000000..78c8d10f --- /dev/null +++ b/_data/statuses.yaml @@ -0,0 +1,8 @@ +- Last Call +- Draft +- Accepted +- Final +- Active +- Abandoned +- Rejected +- Superseded diff --git a/_includes/authorlist.html b/_includes/authorlist.html new file mode 100644 index 00000000..ff78bba7 --- /dev/null +++ b/_includes/authorlist.html @@ -0,0 +1,13 @@ +{%- assign authors=include.authors|split:"," -%} +{%- for author in authors -%} + {%- if author contains "<" -%} + {%- assign authorparts=author|split:"<" -%} + "}}">{{authorparts[0]|strip}} + {%- elsif author contains "(@" -%} + {%- assign authorparts=author|split:"(@" -%} + {{authorparts[0]|strip}} + {%- else -%} + {{author}} + {%- endif -%} + {% if forloop.last == false %}, {% endif %} +{%- endfor -%} diff --git a/_includes/head.html b/_includes/head.html new file mode 100644 index 00000000..b408915f --- /dev/null +++ b/_includes/head.html @@ -0,0 +1,45 @@ + + + + + {% if page.layout == "kip" %} + KIP {{ page.kip }}: {{ page.title | escape }} + + + + + {% else %} + {{ page.title | escape }} | {{site.title}} + + + + + {% endif %} + + + + + + + + + + {%- feed_meta -%} + diff --git a/_includes/kipnums.html b/_includes/kipnums.html new file mode 100644 index 00000000..78d70e55 --- /dev/null +++ b/_includes/kipnums.html @@ -0,0 +1,4 @@ +{% assign kips=include.kips|split:"," %} +{% for kipnum in kips %} + {{kipnum|strip}}{% if forloop.last == false %}, {% endif %} +{% endfor %} diff --git a/_includes/kiptable.html b/_includes/kiptable.html new file mode 100644 index 00000000..9b97944d --- /dev/null +++ b/_includes/kiptable.html @@ -0,0 +1,28 @@ + +{% for status in site.data.statuses %} + {% assign kips = include.kips|where:"status",status|sort:"kip" %} + {% assign count = kips|size %} + {% if count > 0 %} +

{{status}}

+ + + + + {% for page in kips %} + + + + + + {% endfor %} +
NumberTitleAuthor
{{page.kip|xml_escape}}{{page.title|xml_escape}}{% include authorlist.html authors=page.author %}
+ {% endif %} +{% endfor %} diff --git a/_includes/social.html b/_includes/social.html new file mode 100644 index 00000000..1b3bb4e5 --- /dev/null +++ b/_includes/social.html @@ -0,0 +1,9 @@ + diff --git a/_includes/types_lastcall.html b/_includes/types_lastcall.html new file mode 100644 index 00000000..0f47024a --- /dev/null +++ b/_includes/types_lastcall.html @@ -0,0 +1,55 @@ + + +

KIP Types

+ +

KIPs are separated into a number of types, and each has its own list of KIPs.

+ +

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

+

Core ({{site.pages|where:"type","Standards Track"|where:"category","Core"|size}}) +| Networking ({{site.pages|where:"type","Standards Track"|where:"category","Networking"|size}}) +| Storage ({{site.pages|where:"type","Standards Track"|where:"category","Storage"|size}}) +| Interface ({{site.pages|where:"type","Standards Track"|where:"category","Interface"|size}}) +| Token ({{site.pages|where:"type","Standards Track"|where:"category","Token"|size}}) +| SDK ({{site.pages|where:"type","Standards Track"|where:"category","SDK"|size}}) +| Application ({{site.pages|where:"type","Standards Track"|where:"category","Application"|size}})

+ +

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

+ +

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

+ +

Klaytn KIPs Last Call Review

+

All KIPs which are in the two-week "last call" status, please help review these and provide your feedback!

+ +{% assign kips = site.pages|where:"status","Last Call"|sort:"kip" %} +{% assign count = kips|size %} +{% if count > 0 %} +

{{status}}

+ + + + +{% for page in kips %} + + + + + + +{% endfor %} +
NumberTitleTypeAuthor
{{page.kip|xml_escape}}{{page.title|xml_escape}}{{page.type}} {{page.category|xml_escape}}{% include authorlist.html authors=page.author %}
+{% endif %} +{% if count == 0 %} +

N/A

+{% endif %} diff --git a/_layouts/kip.html b/_layouts/kip.html new file mode 100644 index 00000000..e4301cde --- /dev/null +++ b/_layouts/kip.html @@ -0,0 +1,44 @@ +--- +layout: default +--- + +
+

+ KIP {{ page.kip | xml_escape }}: {{ page.title | xml_escape }} + Source +

+ + + {% if page["discussions-to"] != undefined %} + + {% endif %} + + + {% if page.category != undefined %} + + {% endif %} + + {% if page.updated != undefined %} + + {% endif %} + {% if page.requires != undefined %} + + {% endif %} + {% if page.replaces != undefined %} + + {% endif %} + {% if page["superseded-by"] != undefined %} + + {% endif %} + {% if page.resolution != undefined %} + + {% endif %} +
Author{% include authorlist.html authors=page.author %}
Discussions-To{{ page["discussions-to"] | xml_escape }}
Status{{ page.status | xml_escape }} + {% if page.review-period-end != undefined %} + (review ends {{ page.review-period-end | xml_escape }}) + {% endif %} +
Type{{ page.type | xml_escape }}
Category{{ page.category | xml_escape }}
Created{{ page.created | xml_escape }}
Updated{{ page.updated | xml_escape }}
Requires{% include kipnums.html kips=page.requires %}
Replaces{% include kipnums.html kips=page.replaces %}
Superseded by{% include kipnums.html kips=page.superseded-by %}
Resolution{{ page.resolution | xml_escape }}
+ + {{ content }} + +
diff --git a/all.html b/all.html new file mode 100644 index 00000000..7aca3dad --- /dev/null +++ b/all.html @@ -0,0 +1,6 @@ +--- +layout: page +title: All +--- + +{% include kiptable.html kips=site.pages %} diff --git a/application.html b/application.html new file mode 100644 index 00000000..4b74f2ec --- /dev/null +++ b/application.html @@ -0,0 +1,7 @@ +--- +layout: page +title: Application +--- + +{% assign kips=site.pages|where:"type","Standards Track"|where:"category","Application" %} +{% include kiptable.html kips=kips %} diff --git a/assets/css/style.scss b/assets/css/style.scss new file mode 100644 index 00000000..5654c2bb --- /dev/null +++ b/assets/css/style.scss @@ -0,0 +1,5 @@ +--- +# Only the main Sass file needs front matter (the dashes are enough) +--- + +@import "minima"; \ No newline at end of file diff --git a/core.html b/core.html new file mode 100644 index 00000000..40832034 --- /dev/null +++ b/core.html @@ -0,0 +1,7 @@ +--- +layout: page +title: Core +--- + +{% assign kips=site.pages|where:"type","Standards Track"|where:"category","Core" %} +{% include kiptable.html kips=kips %} diff --git a/feed.xml b/feed.xml new file mode 100644 index 00000000..b7f65ecb --- /dev/null +++ b/feed.xml @@ -0,0 +1 @@ +Jekyll2019-11-19T14:19:26+09:00https://kips.ethereum.org/feed.xmlKlaytn Improvement ProposalsKlaytn Improvement Proposals (KIPs) describe standards for the Klaytn platform, including core protocol specifications, client APIs, and contract standards. diff --git a/informational.html b/informational.html new file mode 100644 index 00000000..119b06b2 --- /dev/null +++ b/informational.html @@ -0,0 +1,7 @@ +--- +layout: page +title: Informational +--- + +{% assign kips=site.pages|where:"type","Informational" %} +{% include kiptable.html kips=kips %} diff --git a/interface.html b/interface.html new file mode 100644 index 00000000..24dafd74 --- /dev/null +++ b/interface.html @@ -0,0 +1,7 @@ +--- +layout: page +title: Interface +--- + +{% assign kips=site.pages|where:"type","Standards Track"|where:"category","Interface" %} +{% include kiptable.html kips=kips %} diff --git a/kip-template.md b/kip-template.md new file mode 100644 index 00000000..b9978e0a --- /dev/null +++ b/kip-template.md @@ -0,0 +1,54 @@ +--- +kip: +title: +author: , FirstName (@GitHubUsername) and GitHubUsername (@GitHubUsername)> +discussions-to: +status: Draft +type: +category (*only required for Standard Track): +created: +requires (*optional): +replaces (*optional): +--- + + +This is the suggested template for new KIPs. + +Note that a KIP number will be assigned by an editor. When opening a pull request to submit your KIP, please use an abbreviated title in the filename, `kip-draft_title_abbrev.md`. + +The title should be 44 characters or less. + +## Simple Summary + +"If you can't explain it simply, you don't understand it well enough." Provide a simplified and layman-accessible explanation of the KIP. + +## Abstract + +A short (~200 word) description of the technical issue being addressed. + +## Motivation + +The motivation is critical for KIPs that want to change the Klaytn protocol. It should clearly explain why the existing protocol specification is inadequate to address the problem that the KIP solves. KIP submissions without sufficient motivation may be rejected outright. + +## Specification + +The technical specification should describe the syntax and semantics of any new feature. The specification should be detailed enough to allow competing, interoperable implementations for any of the current Klaytn platforms (klaytn). + +## Rationale + +The rationale fleshes out the specification by describing what motivated the design and why particular design decisions were made. It should describe alternate designs that were considered and related work, e.g. how the feature is supported in other languages. The rationale may also provide evidence of consensus within the community, and should discuss important objections or concerns raised during discussion. + +## Backwards Compatibility + +All KIPs that introduce backwards incompatibilities must include a section describing these incompatibilities and their severity. The KIP must explain how the author proposes to deal with these incompatibilities. KIP submissions without a sufficient backwards compatibility treatise may be rejected outright. The authors should answer the question: "Does this KIP require a hard fork?" + +## Test Cases + +Test cases for an implementation are mandatory for KIPs that are affecting consensus changes. Other KIPs can choose to include links to test cases if applicable. + +## Implementation + +The implementations must be completed before any KIP is given status "Final", but it need not be completed before the KIP is accepted. While there is merit to the approach of reaching consensus on the specification and rationale before writing code, the principle of "rough consensus and running code" is still useful when it comes to resolving many discussions of API details. + +## Copyright +Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/). diff --git a/last-call.xml b/last-call.xml new file mode 100644 index 00000000..0c7629aa --- /dev/null +++ b/last-call.xml @@ -0,0 +1,35 @@ +--- +layout: null +--- + + + + Klaytn KIPs Last Call Review + All KIPs which are in the two-week "last call" status, please help review these and provide your feedback! + {{ site.url }} + + {{ site.time }} + {% assign kips = site.pages | sort: 'kip' %} + {% for kip in kips %} + {% if kip.status == "Last Call" %} + {% capture description %} +

KIP #{{ kip.kip }} - {{kip.title }} is in Last Call status. It is authored by {{ kip.author }} and was originally created {{ kip.created }}. It is in the {{ kip.category }} category of type {{ kip.type }}. Please review and note any changes that should block acceptance.

+ {% if kip.discussions-to %} +

The author has requested that discussions happen at the following URL: {{ kip.discussions-to }}

+ {% else %} +

Please visit the [klaytn/KIPs issues to comment](https://github.com/klaytn/KIPs/issues/{{kip.kip}}).

+ {% endif %} +
+ {{ kip.content }} + {% endcapture %} + + {{ kip.title | xml_escape }} + {{ description | xml_escape }} + {{ kip.date | date: "%a, %d %b %Y %H:%M:%S %z" }} + {{ site.url }}/{{ kip.url }} + {{ site.url }}/{{ kip.url }} + + {% endif %} + {% endfor %} +
+
diff --git a/meta.html b/meta.html new file mode 100644 index 00000000..bfd28fa9 --- /dev/null +++ b/meta.html @@ -0,0 +1,7 @@ +--- +layout: page +title: Meta +--- + +{% assign kips=site.pages|where:"type","Meta" %} +{% include kiptable.html kips=kips %} diff --git a/minima-social-icons.svg b/minima-social-icons.svg new file mode 100644 index 00000000..cb061de1 --- /dev/null +++ b/minima-social-icons.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/networking.html b/networking.html new file mode 100644 index 00000000..05e4d0db --- /dev/null +++ b/networking.html @@ -0,0 +1,7 @@ +--- +layout: page +title: Networking +--- + +{% assign kips=site.pages|where:"type","Standards Track"|where:"category","Networking" %} +{% include kiptable.html kips=kips %} diff --git a/sdk.html b/sdk.html new file mode 100644 index 00000000..345ccd58 --- /dev/null +++ b/sdk.html @@ -0,0 +1,7 @@ +--- +layout: page +title: SDK +--- + +{% assign kips=site.pages|where:"type","Standards Track"|where:"category","SDK" %} +{% include kiptable.html kips=kips %} diff --git a/storage.html b/storage.html new file mode 100644 index 00000000..3f33f0c9 --- /dev/null +++ b/storage.html @@ -0,0 +1,7 @@ +--- +layout: page +title: Storage +--- + +{% assign kips=site.pages|where:"type","Standards Track"|where:"category","Storage" %} +{% include kiptable.html kips=kips %} diff --git a/token.html b/token.html new file mode 100644 index 00000000..5164b845 --- /dev/null +++ b/token.html @@ -0,0 +1,7 @@ +--- +layout: page +title: Token +--- + +{% assign kips=site.pages|where:"type","Standards Track"|where:"category","Token" %} +{% include kiptable.html kips=kips %}