-
Notifications
You must be signed in to change notification settings - Fork 374
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 ✅
Additional details and impacted files@@ Coverage Diff @@
## master #2833 +/- ##
==========================================
- Coverage 60.87% 60.85% -0.02%
==========================================
Files 563 563
Lines 75193 75193
==========================================
- Hits 45770 45759 -11
- Misses 26055 26066 +11
Partials 3368 3368
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
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.
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