Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

@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

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

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

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

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

Interfaces

Functions

License

MIT