Skip to content

Lightweight typescript library for cross-chain wallets. Connect with multiple blockchains via a common interface, with support for the minimum features necessary.

Notifications You must be signed in to change notification settings

mgintoki/xchainjs-lib

 
 

Repository files navigation

XChainJS

XChainJS is a library with a common interface for multiple blockchains, built for simple and fast integration for wallets and more.

Join the conversation! https://t.me/xchainjs

Interface

The interface is defined here.

Common Interface

The interface supports as a minimum the following functions for each blockchain:

  1. Initialise with a valid BIP39 phrase and specified network (testnet/mainnet)
  2. Get the address, with support for BIP44 path derivations (default is Index 0)
  3. Get the balance (UTXO or account-based)
  4. Get transaction history for that address
  5. Make a simple transfer
  6. Get blockchain fee information (standard, fast, fastest)

Extended Interface

Some blockchains have different functions. More advanced logic can be built by extending the interface, such as for Binance Chain and Cosmos chains.

Return the Client

For wallets that need even more flexibility (smart contract blockchains) the client can be retrieved and the wallet is then free to handle directly.

XChainJS uses following libraries, frameworks and more:

Test

Tests

unit

yarn test

Development

lerna bootstrap

Releasing

To test the publish via a dryrun:

NPM_USERNAME="test123" NPM_PASSWORD="test123" NPM_EMAIL="[email protected]" ./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

Contributing

Please see the Contributing Guidelines here (coming soon).

Bug Reports

Please see the Bug Report Process here (coming soon).

License

MIT XChainJS

About

Lightweight typescript library for cross-chain wallets. Connect with multiple blockchains via a common interface, with support for the minimum features necessary.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 98.0%
  • JavaScript 1.8%
  • Shell 0.2%