binance_chain_dart
This is unofficial Dart wrapper for the Binance Chain API. Inspired by python-binance-chain and Binance Chain Java SDK
Features
- Support for all languages of BIP39 spec
- HTTP API in async implementation (100% coverage)
- Mini (BEP8) tokens support
- Create, sign and broadcast messages (transactions)
- Multisend and multitoken transactions
- Websocket API with automatic "keep alive" messages and reconnecting.
- Wallet creation from private key or mnemonic phrase
- Wallet handling account sequence for transactions
- Helper classes for handling responses from Binance API. Data models are presented as classes that parse the JSON from responses
- Using the "Decimal" library for a more accurate representation of amounts when sending transactions.
- 100% Flutter compatibility
- 100% Dart native
Useful links
- Binance Chain docs
- Binance Chain Telegram
- Binance Chain Community Forum
- Tendermint Docs
- How to get Testnet funds
HOW TO USE: SEE WIKI
Usage
A simple usage example:
import 'package:binance_chain/binance_chain.dart';
main() async {
//
var testnetEnv = BinanceEnvironment.getTestnetEnv();
var httpClient = HttpApiClient(env: testnetEnv);
// create wallet from mnemonic phrase
var wallet = Wallet.fromMnemonicPhrase('mnemonic phrase 12-24 words', bip39.Language.english, testnetEnv)
// or from private key
var wallet = Wallet('private key in hexadecimal', testnetEnv)
// get account info
var account = httpClient.getAccount('tbnb1v8603f3ene9zd2y44s6czhhjw7sd8gs9v4est4');
// get open orders of account
var openOrders = httpClient.getOpenOrders('tbnb1v8603f3ene9zd2y44s6czhhjw7sd8gs9v4est4');
// get order from order id
var order = httpClient.getOrder('9D0537108883C68B8F43811B780327CE97D8E01D-2');
// get transactions
var transactions = httpClient.getTransacions('tbnb1v8603f3ene9zd2y44s6czhhjw7sd8gs9v4est4');
}
TODO:
✓ Support for WIF and .keystore
- Tests
- More docs and samples
- Maybe JSON-RPC
Libraries
- binance_chain
- Binance Chain Api wrapper.