Added IBC MVP spec
This commit is contained in:
parent
ee0b396bad
commit
83ce0ed1f9
|
@ -0,0 +1,36 @@
|
||||||
|
# IBC Spec
|
||||||
|
|
||||||
|
*This is a living document and should be edited as the IBC spec and implementation change*
|
||||||
|
|
||||||
|
## MVP1
|
||||||
|
|
||||||
|
The initial implementation of IBC will include just enough for simple coin transfers between chains, with safety features such as ACK messages being added later.
|
||||||
|
|
||||||
|
### IBC Module
|
||||||
|
|
||||||
|
```golang
|
||||||
|
type IBCOutMsg struct {
|
||||||
|
IBCTransfer
|
||||||
|
}
|
||||||
|
|
||||||
|
type IBCInMsg struct {
|
||||||
|
IBCTransfer
|
||||||
|
}
|
||||||
|
|
||||||
|
type IBCTransfer struct {
|
||||||
|
Destination sdk.Address
|
||||||
|
Coins sdk.Coins
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Relayer
|
||||||
|
|
||||||
|
**Packets**
|
||||||
|
- Connect to 2 Tendermint RPC endpoints
|
||||||
|
- Query for IBC outgoing `IBCOutMsg` queue (can poll on a certain time interval, or check after each new block, etc)
|
||||||
|
- For any new `IBCOutMsg`, build `IBCInMsg` and post to destination chain
|
||||||
|
|
||||||
|
## CLI
|
||||||
|
|
||||||
|
- Load relay process
|
||||||
|
- Execute `IBCOutMsg`
|
Loading…
Reference in New Issue