Skip to content

Latest commit

 

History

History
121 lines (71 loc) · 6.72 KB

nep-0000-template.md

File metadata and controls

121 lines (71 loc) · 6.72 KB
NEP Title Authors Status DiscussionsTo Type Version Created LastUpdated
0
NEP Template
Todd Codrington III <[email protected]>
Approved
Developer Tools
1.1.0
2022-03-03
2023-03-07

[This is a NEP (NEAR Enhancement Proposal) template, as described in NEP-0001. Use this when creating a new NEP. The author should delete or replace all the comments or commented brackets when merging their NEP.]

Summary

[Provide a short human-readable (~200 words) description of the proposal. A reader should get from this section a high-level understanding about the issue this NEP is addressing.]

Motivation

[Explain why this proposal is necessary, how it will benefit the NEAR protocol or community, and what problems it solves. Also describe why the existing protocol specification is inadequate to address the problem that this NEP solves, and what potential use cases or outcomes.]

Rationale and alternatives

[Justify the design decision for the proposed solution. And explain any alternative designs that were considered and the rationale for not choosing them.]

Specification

[Explain the proposal as if you were teaching it to another developer. This generally means describing the syntax and semantics, naming new concepts, and providing clear examples. The specification needs to include sufficient detail to allow interoperable implementations getting built by following only the provided specification. In cases where it is infeasible to specify all implementation details upfront, broadly describe what they are.]

Reference Implementation

[This technical section is required for Protocol proposals but optional for other categories. A draft implementation should demonstrate a minimal implementation that assists in understanding or implementing this proposal. Explain the design in sufficient detail that:

  • Its interaction with other features is clear.
  • Where possible, include a Minimum Viable Interface subsection expressing the required behavior and types in a target programming language. (ie. traits and structs for rust, interfaces and classes for javascript, function signatures and structs for c, etc.)
  • It is reasonably clear how the feature would be implemented.
  • Corner cases are dissected by example.
  • For protocol changes: A link to a draft PR on nearcore that shows how it can be integrated in the current code. It should at least solve the key technical challenges.

The section should return to the examples given in the previous section, and explain more fully how the detailed proposal makes those examples work.]

Security Implications

[Explicitly outline any security concerns in relation to the NEP, and potential ways to resolve or mitigate them. At the very least, well-known relevant threats must be covered, e.g. person-in-the-middle, double-spend, XSS, CSRF, etc.]

Drawbacks (Optional)

[Explain why we should not implement this NEP and any limitations. It is helpful to record any concerns raised throughout the NEP discussion.]

Unresolved Issues (Optional)

[Explain any issues that warrant further discussion. Considerations:

  • What parts of the design do you expect to resolve through the NEP process before this gets merged?
  • What parts of the design do you expect to resolve through the implementation of this feature before stabilization?
  • What related issues do you consider out of scope for this NEP that could be addressed in the future independently of the solution that comes out of this NEP?]

Future possibilities

[Describe any natural extensions and evolutions to the NEP proposal, and how they would impact the project. Use this section as a tool to help fully consider all possible interactions with the project in your proposal. This is also a good place to "dump ideas"; if they are out of scope for the NEP but otherwise related. Note that having something written down in the future-possibilities section is not a reason to accept the current or a future NEP. Such notes should be in the section on motivation or rationale in this or subsequent NEPs. The section merely provides additional information.]

Changelog

[The changelog section provides historical context for how the NEP developed over time. Initial NEP submission should start with version 1.0.0, and all subsequent NEP extensions must follow Semantic Versioning. Every version should have the benefits and concerns raised during the review. The author does not need to fill out this section for the initial draft. Instead, the assigned reviewers (Subject Matter Experts) should create the first version during the first technical review. After the final public call, the author should then finalize the last version of the decision context.]

1.0.0 - Initial Version

[Placeholder for the context about when and who approved this NEP version.]

Benefits

[Placeholder for Subject Matter Experts review for this version:]

  • Benefit 1
  • Benefit 2

Concerns

[Template for Subject Matter Experts review for this version:]

# Concern Resolution Status
1
2

Copyright

Copyright and related rights waived via CC0.