-
Notifications
You must be signed in to change notification settings - Fork 385
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
docs: Add Realm ABI Specification #2833
base: master
Are you sure you want to change the base?
Conversation
The Realm ABI Specification formally describes the protocol and encoding of interactions between realms and external clients, not necessarily written in Go. It can be seen as an extension of the [ABCI](https://github.com/tendermint/tendermint/tree/master/spec/abci) which covers the protocol between blockchain nodes and clients, but without details on their practical applications, such as realms. This PR addresses [#1842]. This is an initial draft commit, work in progress.
Codecov ReportAll modified and coverable lines are covered by tests ✅ 📢 Thoughts on this report? Let us know! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I know this is in draft, but still left a few comments
docs/reference/realm-abi.md
Outdated
|
||
# GNO Realm ABI specification | ||
|
||
The GNO Realm Application Binary Interface (ABI) specifies the interface between realms (GNO smart contracts) and clients interacting with the realms. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
GNO > Gno, generally
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, thanks.
docs/reference/realm-abi.md
Outdated
|
||
Realms implement live programs on the blockchain, also called smart contracts. | ||
|
||
Each realm exists as a package, identified by its URL, and containing the realm source files. A realm has the following properties: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Each realm exists as a package, identified by its URL, and containing the realm source files. A realm has the following properties: | |
Each realm exists as a package, identified by its package path, and containing the package source files. A realm has the following properties: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok
| Send | repeated [Coin](#coin) | amount to pay | 2 | | ||
| PkgPath | string | package path of the function to call | 3 | | ||
| Func | string | function name | 4 | | ||
| Args | repeated string | function arguments | 5 | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it's important to make a distinction in that Send
can take in a single string of multiple coins, like "1ugnot,3leon,5marc", while Args
is a slice of strings instead of a single one.
🛠 PR Checks Summary🔴 The pull request head branch must be up-to-date with its base (more info) Manual Checks (for Reviewers):
Read More🤖 This bot helps streamline PR reviews by verifying automated checks and providing guidance for contributors and reviewers. ✅ Automated Checks (for Contributors):🔴 The pull request head branch must be up-to-date with its base (more info) ☑️ Contributor Actions:
☑️ Reviewer Actions:
📚 Resources:Debug
|
The Realm ABI Specification formally describes the protocol and encoding of interactions between realms and external clients, not necessarily written in Go.
It can be seen as an extension of the
ABCI which covers the protocol between blockchain nodes and clients, but without details on their practical applications, such as realms.
This PR addresses [#1842].
This is an initial draft commit, work in progress.
Contributors' checklist...
BREAKING CHANGE: xxx
message was included in the description