@bitahon/protocol
v1.0.1
Published
Bitahon Protocol
Readme
@bitahon/protocol
This library provides an implementation of the Bitahon Protocol Buffers (protobuf) messages.
Installation
General
To obtain the latest version, simply require the project using npm:
npm install @bitahon/protocolUsage
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,
});API
APP_ID
| Application | uint32 | | --- | --- | | WALLET | 1 | | BITCOIN | 2 | | ETHEREUM | 3 | | TRON | 4 |
transport
Interfaces
Functions
session
Interfaces
Functions
wallet
METHOD_ID
| Method | uint32 | | --- | --- | | NEW_SESSION | 1 |
Interfaces
Functions
common
Interfaces
Functions
- encodeBip32Path
- decodeBip32Path
- encodeGetPublicKey
- decodeGetPublicKey
- encodeGetPublicKeyResult
- decodeGetPublicKeyResult
- encodeECDSASignResult
- decodeECDSASignResult
- encodeTokenMetadata
- decodeTokenMetadata
bitcoin
NETWORK_ID
| Network | uint32 | | --- | --- | | BITCOIN_MAINNET | 1 | | BITCOIN_TESTNET | 2 | | LITECOIN_MAINNET | 3 | | LITECOIN_TESTNET | 4 | | DOGECOIN_MAINNET | 5 |
METHOD_ID
| Method | uint32 | | --- | --- | | GET_PUBLIC_KEY | 1 | | SIGN_MESSAGE | 2 | | SIGN_TRANSACTION | 3 |
Interfaces
Functions
- encodeSignMessage
- decodeSignMessage
- encodeSignTransaction
- decodeSignTransaction
- encodeSignTransactionResult
- decodeSignTransactionResult
ethereum
NETWORK_ID
| 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_ID
| Method | uint32 | | --- | --- | | GET_PUBLIC_KEY | 1 | | SIGN_PERSONAL_MESSAGE | 2 | | SIGN_EIP712_MESSAGE | 3 | | SIGN_EIP712_HASHED_MESSAGE | 4 | | SIGN_TRANSACTION | 5 |
Interfaces
Functions
- encodeSignPersonalMessage
- decodeSignPersonalMessage
- encodeSignEIP712Message
- decodeSignEIP712Message
- encodeSignEIP712HashedMessage
- decodeSignEIP712HashedMessage
- encodeSignTransaction
- decodeSignTransaction
tron
NETWORK_ID
| Network | uint32 | | --- | --- | | TRON_MAINNET | 1 | | TRON_TESTNET | 2 |
METHOD_ID
| Method | uint32 | | --- | --- | | GET_PUBLIC_KEY | 1 | | SIGN_PERSONAL_MESSAGE | 2 | | SIGN_TRANSACTION | 3 |
