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