This library provides an implementation of the Bitahon Protocol Buffers (protobuf) messages.
To obtain the latest version, simply require the project using npm:
npm install @bitahon/protocol
import {
APP_ID,
common,
session,
transport,
bitcoin,
} from '@bitahon/protocol';
const bip32Path: common.IBip32Path = {
value: [2147483692, 2147483648, 2147483648, 0, 0], // 44'/0'/0'/0/0
curve: 1, // secp256k1
};
const params: Uint8Array = common.encodeGetPublicKey({
network: bitcoin.NETWORK_ID.BITCOIN_MAINNET,
path: bip32Path,
});
const request: Uint8Array = session.encodeApiRequest({
id: 1,
app: APP_ID.BITCOIN,
method: 1, // GET_PUBLIC_KEY
params,
});
const payload: Uint8Array = transport.encodeApiTransport({
data: request,
// sign,
});
| Application |
uint32 |
| WALLET |
1 |
| BITCOIN |
2 |
| ETHEREUM |
3 |
| TRON |
4 |
| Method |
uint32 |
| NEW_SESSION |
1 |
| Network |
uint32 |
| BITCOIN_MAINNET |
1 |
| BITCOIN_TESTNET |
2 |
| LITECOIN_MAINNET |
3 |
| LITECOIN_TESTNET |
4 |
| DOGECOIN_MAINNET |
5 |
| Method |
uint32 |
| GET_PUBLIC_KEY |
1 |
| SIGN_MESSAGE |
2 |
| SIGN_TRANSACTION |
3 |
| Network |
uint32 |
| ETHEREUM_MAINNET |
1 |
| ETHEREUM_GOERLI |
2 |
| POLYGON_MAINNET |
3 |
| OPTIMISM_MAINNET |
4 |
| ARBITRUM_MAINNET |
5 |
| BSC_MAINNET |
6 |
| AVALANCHE_MAINNET |
7 |
| WBT_MAINNET |
8 |
| BASE_MAINNET |
9 |
| ETHEREUM_SEPOLIA |
10 |
| Method |
uint32 |
| GET_PUBLIC_KEY |
1 |
| SIGN_PERSONAL_MESSAGE |
2 |
| SIGN_EIP712_MESSAGE |
3 |
| SIGN_EIP712_HASHED_MESSAGE |
4 |
| SIGN_TRANSACTION |
5 |
| Network |
uint32 |
| TRON_MAINNET |
1 |
| TRON_TESTNET |
2 |
| Method |
uint32 |
| GET_PUBLIC_KEY |
1 |
| SIGN_PERSONAL_MESSAGE |
2 |
| SIGN_TRANSACTION |
3 |
MIT