Skip to main content

@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/protocol

Usage

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

README.md

APP_ID

Applicationuint32
WALLET1
BITCOIN2
ETHEREUM3
TRON4

transport

Interfaces

Functions

session

Interfaces

Functions

wallet

METHOD_ID

Methoduint32
NEW_SESSION1

Interfaces

Functions

common

Interfaces

Functions

bitcoin

NETWORK_ID

Networkuint32
BITCOIN_MAINNET1
BITCOIN_TESTNET2
LITECOIN_MAINNET3
LITECOIN_TESTNET4
DOGECOIN_MAINNET5

METHOD_ID

Methoduint32
GET_PUBLIC_KEY1
SIGN_MESSAGE2
SIGN_TRANSACTION3

Interfaces

Functions

ethereum

NETWORK_ID

Networkuint32
ETHEREUM_MAINNET1
ETHEREUM_GOERLI2
POLYGON_MAINNET3
OPTIMISM_MAINNET4
ARBITRUM_MAINNET5
BSC_MAINNET6
AVALANCHE_MAINNET7
WBT_MAINNET8
BASE_MAINNET9
ETHEREUM_SEPOLIA10

METHOD_ID

Methoduint32
GET_PUBLIC_KEY1
SIGN_PERSONAL_MESSAGE2
SIGN_EIP712_MESSAGE3
SIGN_EIP712_HASHED_MESSAGE4
SIGN_TRANSACTION5

Interfaces

Functions

tron

NETWORK_ID

Networkuint32
TRON_MAINNET1
TRON_TESTNET2

METHOD_ID

Methoduint32
GET_PUBLIC_KEY1
SIGN_PERSONAL_MESSAGE2
SIGN_TRANSACTION3

Interfaces

Functions