@mayaprotocol/xchain-mayachain
v0.0.7
Published
Custom Mayachain client and utilities used by XChainJS clients
Downloads
10
Readme
@xchainjs/xchain-mayachain
Mayachain Module for XChainJS Clients
Installation
yarn add @xchainjs/xchain-mayachain
Following peer dependencies have to be installed into your project. These are not included in @xchainjs/xchain-mayachain
.
yarn add @xchainjs/xchain-client @xchainjs/xchain-crypto @xchainjs/xchain-util @xchainjs/xchain-cosmos axios @cosmos-client/core bech32-buffer
Important note: Make sure to install same version of @cosmos-client/core
as xchain-mayachain
is using (currently @cosmos-client/[email protected]
). In other case things might break.
Documentation
xchain mayachain
How xchain-mayachain works
How to use xchain-mayachain
For more examples check out tests in ./__tests__/client.test.ts
Service Providers
This package uses the following service providers:
| Function | Service | Notes |
| --------------------------- | ----------------------- | ------------------------------------------------------------------- |
| Balances | Cosmos RPC | https://cosmos.network/rpc/v0.37.9 (GET /bank/balances/{address}
) |
| Transaction history | Tendermint RPC | https://docs.tendermint.com/master/rpc/#/Info/tx_search |
| Transaction details by hash | Cosmos RPC | https://cosmos.network/rpc/v0.37.9 (GET /txs/{hash}
) |
| Transaction broadcast | Cosmos RPC | https://cosmos.network/rpc/v0.37.9 (POST /txs
) |
| Explorer | Explorer Mayachain.info | https://explorer.mayachain.net |
Rate limits: No
Extras
Creating protobuffer typescript bindings
In order for this library to de/serialize proto3 structures, you can use the following to create bindings
git clone https://gitlab.com/mayachain/thornode
- run the following (adjust the paths acordingly) to generate a typecript file for MsgDeposit
yarn run pbjs -w commonjs -t static-module <path to repo>/thornode/proto/thorchain/v1/x/thorchain/types/msg_deposit.proto <path to repo>/thornode/proto/thorchain/v1/common/common.proto <path to repo>/thornode/proto/thorchain/v1/x/thorchain/types/msg_send.proto <path to repo>/thornode/third_party/proto/cosmos/base/v1beta1/coin.proto -o src/types/proto/MsgCompiled.js
- run the following to generate the .d.ts file
yarn run pbts src/types/proto/MsgCompiled.js -o src/types/proto/MsgCompiled.d.ts
Alternatively, you can run the convenience script: genMsgs.sh
, which will overwrite the proto/js files in types/proto. This should only be done and checked in if changes were made to the upstream Msg in the MAYANode repo.