Git Product home page Git Product logo

neps's Introduction

NEAR Protocol Specifications and Standards

This repository hosts the current NEAR Protocol specification and standards. This includes the core protocol specification, APIs, contract standards, processes, and workflows.

Changes to the protocol specification and standards are called NEAR Enhancement Proposals (NEPs).

This repository uses mdBook for the Nomicon website.

Specification

NEAR Specification is under active development. Specification defines how any NEAR client should be connecting, producing blocks, reaching consensus, processing state transitions, using runtime APIs, and implementing smart contract standards as well.

Standards & Processes

Standards refer to various common interfaces and APIs that are used by smart contract developers on top of the NEAR Protocol. For example, such standards include SDK for Rust, API for fungible tokens or how to manage user's social graph.

Processes include release process for spec, clients or how standards are updated.

Contributing

Expectations

Ideas presented ultimately as NEPs will need to be driven by the author through the process. It's an exciting opportunity with a fair amount of responsibility from the contributor(s). Please put care into the details. NEPs that do not present convincing motivation, demonstrate understanding of the impact of the design, or are disingenuous about the drawbacks or alternatives tend to be poorly received. Again, by the time the NEP makes it to the pull request, it has a clear plan and path forward based on the discussions in the governance forum.

Process

Spec changes are ultimately done via pull requests to this repository. However, in an effort to keep the pull request clean and readable, please follow these instructions to flesh out an idea.

  1. Sign up for the governance site and make a post to the appropriate section. For instance, during the ideation phase of a standard, one might start a new conversation in the Development » Standards section. The other suggested category in the governance forum is the Development » Proposals section.
  2. The forum has comment threading which allows the community and NEAR Collective to ideate, ask questions, wrestle with approaches, etc. If more immediate responses are desired, consider bringing the conversation to Discord.
  3. When the governance conversations have reached a point where a clear plan is evident, create a pull request, using the instructions below.

Pull request (only when governance discussion has concluded)

  • Clone this repository and create a branch with "my-feature".
  • Update relevant content in the current specification that are affected by the proposal.
  • Create PR, where information of the PR follows 0000-template.md to describe motivation and details of the change to the protocol. The file will be added to specs/Proposals, using the pull request number padded with zeroes. For instance, the pull request 19 might be created as specs/Proposals/0019-short-slug-description.md.
  • Post pre-approval of the spec change, present a PR for NEAR Protocol client(s) that implements this specification change.
  • Receive final approval and merge change into the master to be included in the next release.

Tip: build consensus and integrate feedback. NEPs that have broad support are much more likely to make progress than those that don't receive any comments. Feel free to reach out to the NEP assignee in particular to get help identify stakeholders and obstacles.

Running mdBook

For Linux and OS X, you may run:

./build.sh

For Windows:

cargo install mdbook
mdbook build

To quickly iterate, you may also use the command:

mdbook serve

neps's People

Contributors

evgenykuzyakov avatar ilblackdragon avatar bowenwang1996 avatar chadoh avatar maksymzavershynskyi avatar mfornet avatar mikedotexe avatar mzhangmzz avatar skidanovalex avatar egorkulikov avatar k06a avatar abacabadabacaba avatar mikhailok avatar anson-vandoren avatar austinabell avatar adlerjohn avatar joshuajbouw avatar mattlockyer avatar telezhnaya avatar 48cfu avatar mehtaphysical avatar thor314 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.