# GXClient

# Classes

GXClient

GXClient Class

# Typedefs

signatureProvider : function

This callback is displayed as a global member.

# GXClient

GXClient Class

Kind: global class

# new GXClient(private_key, account_id_or_name, entry_point, signProvider)

Param Type Default Description
private_key String private key
account_id_or_name String e.g: '1.2.44'
entry_point String wss://node1.gxb.io entry point network address
signProvider signatureProvider

# gxClient.generateKey() ⇒ Object

generate key pair locally

Kind: instance method of GXClient

# gxClient.privateToPublic(privateKey) ⇒ String

export public key from private key

Kind: instance method of GXClient

Param Type
privateKey String

# gxClient.isValidPublic(publicKey) ⇒ boolean

check if public key is valid

Kind: instance method of GXClient

Param Type
publicKey String

# gxClient.isValidPrivate(privateKey) ⇒ boolean

check if private key is valid

Kind: instance method of GXClient

Param Type
privateKey String

# gxClient.register(account, activeKey, ownerKey, memoKey, faucet) ⇒ Promise.<any>

register an account by faucet

Kind: instance method of GXClient

Param Type Default Description
account String Account name
activeKey String Public Key for account operator
ownerKey String Public Key for account owner
memoKey String Public Key for memo
faucet String https://opengateway.gxb.io faucet url

Example

curl ‘https://opengateway.gxb.io/account/register' -H 'Content-type: application/json' -H 'Accept: application/json’ -d ‘{“account”:{“name”:”gxb123”,”owner_key”:”GXC5wQ4RtjouyobBV57vTx7boBj4Kt3BUxZEMsUD3TU369d3C9DqZ”,”active_key”:”GXC7cPVyB9F1Pfiaaxw4nY3xKADo5993hEsTjFs294LKwhqsUrFZs”,”memo_key”:”GXC7cPVyB9F1Pfiaaxw4nY3xKADo5993hEsTjFs294LKwhqsUrFZs”,”refcode”:null,”referrer”:null}}

# gxClient.getObject(object_id) ⇒ Request | PromiseLike.<T> | Promise.<T>

get object by id

Kind: instance method of GXClient

Param Type Description
object_id String e.g: '1.2.3'

# gxClient.getObjects(object_ids) ⇒ Request | PromiseLike.<T> | Promise.<T>

get objects

Kind: instance method of GXClient

Param Type
object_ids Array.<String>

# gxClient.getAccount(account_name) ⇒ Promise.<any>

get account info by account name

Kind: instance method of GXClient

Param Type
account_name String

# gxClient.getChainID() ⇒ Request | PromiseLike.<T> | Promise.<T>

get current blockchain id

Kind: instance method of GXClient

# gxClient.getDynamicGlobalProperties() ⇒ Request | PromiseLike.<T> | Promise.<T>

get dynamic global properties

Kind: instance method of GXClient

# gxClient.getAccountByPublicKey(publicKey) ⇒ Request | PromiseLike.<T> | Promise.<T>

get account_ids by public key

Kind: instance method of GXClient

Param Type
publicKey String

# gxClient.getAccountBalances(account_name) ⇒ Promise.<any>

get account balances by account name

Kind: instance method of GXClient

Param Type
account_name String

# gxClient.getAsset(symbol) ⇒ Promise.<any>

get asset info by symbol

Kind: instance method of GXClient

Param Type Description
symbol String e.g: 'GXC'

# gxClient.getBlock(blockHeight) ⇒ Promise.<any>

get block by block height

Kind: instance method of GXClient

Param Type Description
blockHeight Number block height

# gxClient.detectTransaction(blockHeight, callback)

detect new transactions related to this.account_id

Kind: instance method of GXClient

Param Type Description
blockHeight Number block height
callback function

# gxClient.transfer(to, memo, amount_asset, broadcast, options) ⇒ Promise.<any>

send transfer request to witness node

Kind: instance method of GXClient

Param Type Default Description
to String to account name
memo String | function memo
amount_asset String e.g: '1 GXC'
broadcast Boolean false
options Object
options.fee_symbol String e.g: 'GXC'

# gxClient.getStakingPrograms()

get staking programs

Kind: instance method of GXClient

# gxClient.createStaking(to, amount, program_id, options) ⇒ Promise.<any>

Kind: instance method of GXClient

Param Type Description
to String trust node account name
amount Number the amount of GXC to staking
program_id String the staking program id
options Object
options.fee_symbol String e.g: 'GXC'

# gxClient.updateStaking(to, staking_id, options) ⇒ Promise.<any>

Kind: instance method of GXClient

Param Type Description
to String trust node account name
staking_id String the staking id
options Object
options.fee_symbol String e.g: 'GXC'

# gxClient.claimStaking(to, staking_id, options) ⇒ Promise.<any>

Kind: instance method of GXClient

Param Type Description
to String trust node account name
staking_id String the staking id
options Object
options.fee_symbol String e.g: 'GXC'

# gxClient.getContractABI(contract_name) ⇒ Promise.<any>

get contract abi by contract_name

Kind: instance method of GXClient

Param Type
contract_name String

# gxClient.getContractTable(contract_name) ⇒ Promise.<any>

get contract table by contract_name

Kind: instance method of GXClient

Param Type
contract_name String

# gxClient.getTableObjects(contract_name, table_name, start, limit) ⇒ Promise.<any>

fetch contract table record by contract_name and table_name

Kind: instance method of GXClient

Param Type Default
contract_name String
table_name String
start Number 0
limit Number 100

# gxClient.getTableObjectsEX(contract_name, table_name, lower_bound, upper_bound, limit, reverse) ⇒ *

fetch contract table record by contract_name and table_name

Kind: instance method of GXClient

Param Default
contract_name
table_name
lower_bound 0
upper_bound
limit 100
reverse false

# gxClient.createContract(contract_name, code, abi, vm_type, vm_version, broadcast, options) ⇒ Promise.<any>

deploy smart contract

Kind: instance method of GXClient

Param Type Default Description
contract_name String
code String bytecode
abi Object abi object
vm_type String 0
vm_version String 0
broadcast Boolean false
options Object
options.fee_symbol String e.g: 'GXC'

# gxClient.updateContract(contract_name, newOwner, code, abi, broadcast, options) ⇒ Request | PromiseLike.<T> | Promise.<T>

update smart contract

Kind: instance method of GXClient

Param Type Default Description
contract_name String
newOwner String new owner account name
code String same to createContract
abi Object same to createContract
broadcast Boolean false
options Object
options.fee_symbol String e.g: 'GXC'

# gxClient.callContract(contract_name, method_name, params, amount_asset, broadcast, options) ⇒ Promise.<any>

call smart contract method

Kind: instance method of GXClient

Param Type Default Description
contract_name String The name of the smart contract
method_name String Method/Action name
params JSON parameters
amount_asset String same to transfer eg."100 GXC"
broadcast Boolean false Broadcast the transaction or just return a serialized transaction
options Object
options.fee_symbol String e.g: 'GXC'

# gxClient.vote(accounts, broadcast, options) ⇒ Promise.<any>

vote for accounts

Kind: instance method of GXClient
Params: options.append {bool} - default: true

Param Type Default Description
accounts Array.<String> An array of account_names to vote
broadcast Boolean false
options Object
options.fee_symbol String e.g: 'GXC'

# gxClient.fee(operation, feeAssetId) ⇒ Promise.<any>

calculate fee of a operation

Kind: instance method of GXClient

Param Type Default
operation Object
feeAssetId String 1.3.1

# gxClient.broadcast(tx) ⇒ Promise.<any>

broadcast transaction

Kind: instance method of GXClient

Param Type
tx TransactionBuilder

# signatureProvider : function

This callback is displayed as a global member.

Kind: global typedef

Param Type Description
transaction TransactionBuilder
chain_id String Chain Id