⭐ Developed / Developing by xchainjs
XChainJS is a library with a common interface for multiple blockchains, built for simple and fast integration for wallets and more.
Telegram group: https://t.me/xchainjs
Homepage: https://xchainjs.org
Live Examples: https://dev.thorchain.org/thorchain-dev/xchainjs-integration-guide/query-package
Docs: http://docs.xchainjs.org/overview
Integration guide: https://dev.thorchain.org/thorchain-dev/xchainjs-integration-guide/overview
The interface is defined here.
A single common interface:
- Initialise with a valid BIP39 phrase and specified network (testnet/mainnet)
- Get the address, with support for BIP44 path derivations (default is Index 0)
- Get the balance (UTXO or account-based)
- Get transaction history for that address
- Make a simple transfer
- Get blockchain fee information (standard, fast, fastest)
xchain-avax
xchain-binance
xchain-bitcoin
xchain-bitcoincash
xchain-bsc
xchain-client
xchain-cosmos
xchain-crypto
xchain-doge
xchain-ethereum
xchain-evm
xchain-litecoin
xchain-midgard
xchain-thorchain
xchain-thorchain-amm
xchain-thorchain-query
xchain-thornode
xchain-util
xchain-utxo-providers
For wallets that need even more flexibility (smart contract blockchains) the client can be retrieved and the wallet is then free to handle directly.
Make sure Jest and Lerna is installed
yarn add --dev jest lerna
Start with
yarn
yarn build
yarn test
There are a suite of integration test which work against testnet. You will need to specify a phrase which controls testnet coins
export PHRASE="secret phrase here"
yarn e2e
lerna bootstrap
To test the publish via a dryrun:
NPM_USERNAME="test123" NPM_PASSWORD="test123" NPM_EMAIL="test123@test123.com" ./dryrun_publish.sh
To publish:
NPM_USERNAME="TODO Use real npm username" NPM_PASSWORD="TODO Use real npm password" NPM_EMAIL="TODO Use real npm email" ./publish.sh
Please ask in the telegram group to be added as a contributor.
Please submit an issue and flag in the telegram group.