Dero RPC API in Dart to interact with Dero daemon and Dero wallet.
Features
The complete set of RPC methods offered by derod and wallet with their corresponding JSON-RPC objects defined in Dero API.
See https://github.com/deroproject/derohe.
Dero daemon
DerodRepository gives you an event stream for each new block/height, and an RPC client with the following methods :
- Ping
- GetInfo
- GetHeight
- GetBlock
- GetBlockCount
- GetBlockHeaderByHash
- GetBlockHeaderByTopoHeight
- GetTxPool
- GetTransaction
- GetLastBlockHeader
- GetSC
- GetGasEstimate
- NameToAddress
- GetRandomAddress
- SendRawTransaction
- GetBlockTemplate
- SubmitBlock
- GetEncryptedBalance
Wallet
WalletRepository gives you an RPC client with the following methods :
- Ping
- GetAddress
- GetBalance
- GetHeight
- GetTransferbyTXID
- GetTransfers
- MakeIntegratedAddress
- SplitIntegratedAddress
- QueryKey
- Transfer
- scinvoke
RPC payload Arguments
- enum
DataType
supported by Dero RPC payload - builtin
Argument
names Arguments
typedef with utility methods Extension
Usage
The way to query derod RPC server, here with the GetInfo method.
import 'dart:io';
import 'package:dero_rpc_api/dero_rpc_api.dart';
const String derodMainnetAddr = '127.0.0.1:10102';
Future<void> main() async {
var derodRepository = DerodRepository(rpcAddress: derodMainnetAddr);
derodRepository.start();
try {
var info = await derodRepository.getInfo();
print(info);
} catch (e) {
print(e);
}
await derodRepository.close();
exit(0);
}
The way to query wallet RPC server, here with the GetAddress method.
import 'dart:io';
import 'package:dero_rpc_api/dero_rpc_api.dart';
const String walletMainnetAddr = '127.0.0.1:10103';
Future<void> main() async {
var walletRepository = WalletRepository(rpcAddress: walletMainnetAddr);
// Or, if the Wallet RPC server is configured for authentication with `--rpc-login` :
// var walletRepository = WalletRepository(rpcAddress: walletSimulatorAddr, user: 'Ez3kiel' password: 'test');
walletRepository.start();
try {
var address = await walletRepository.getAddress();
print(address);
} catch (e) {
print(e);
}
await walletRepository.close();
exit(0);
}
Other examples are available in the example
folder.
Donations
If you find this package useful :)
Send any amount to dero1qy5a6wk2r9mq3e5kagku4kdrhq407qhvht8qke5sxpm9u8lqmph3vqgl3nz8t
or use my
named address Ez3kiel
.
Thanks!
Libraries
- dero_rpc_api
- Dart implementation of the Dero RPC API.