Getting Started

Client class is the primary class you will work with.

from lighthive.client import Client

client = Client()

Appbase nodes support different api namespaces.

Client class uses condenser_api as default. Follow the official developer portal’s api definitions to explore available methods.


Get Dynamic Global Properties

props = client.get_dynamic_global_properties()


Get Current Reserve Ratio

ratio = c('witness_api').get_reserve_ratio()


Get @emrebeyler’s account history

history = c.get_account_history("emrebeyler", 1000, 10)

for op in history:

Get top 100 witness list

witness_list = client.get_witnesses_by_vote(None, 100)


It’s the same convention for every api type and every call on appbase nodes.


Since, api_type is set when the client instance is called, it is not thread-safe to share Client instances between threads.

Optional parameters of Client

Even though, you don’t need to pass any parameters to the Client, you have some options to choose.

__init__(self, nodes=None, keys=None, connect_timeout=3,
read_timeout=30, loglevel=logging.ERROR, chain=None)
param nodes:A list of appbase nodes. (Defaults: “”, “”,”)
param keys:A list of private keys.
param connect_timeout:
 Integer. Connect timeout for nodes. (Default:3 seconds.)
param read_timeout:
 Integer. Read timeout for nodes. (Default: 30 seconds.)
param loglevel:Integer. (Ex: logging.DEBUG)
param chain:String. The blockhain we’re working with. (Default: HIVE)

See Broadcasting Transactions to find out how to broadcast transactions into the blockchain.