Hedera HCS gRPC API Python Client
Project description
pip install hcs-grpc-client
This is a Hedera Consensus Service (HCS) gRPC mirror node API Python client.
It only has functionality to subscribe to a HCS topic on mirror node.
For mirror node REST API, use curl or something like Python requests
.
For all other interactions with Hedera, use an SDK: Python, Java, Javascript, or Go.
How to Use
import grpc
from hcs_grpc_client import TopicID, ConsensusTopic, ConsensusServiceStub
request = ConsensusTopicQuery(topicID=TopicID(2010293))
channel = grpc.insecure_channel("hcs.testnet.mirrornode.hedera.com:5600")
stub = ConsensusServiceStub(channel)
stream = stub.subscribeTopic(request)
for resp in stream:
# do whatever you need
print(resp)
Make sure the topic exists or create your own topic with an SDK. An example is given in examples/
.
See examples for mainnet example and other usages.
How to Build
(Ignore this section unless you want to customized the client and/or want to contribute to this project)
Clone this repo:
git clone --recurse-submodules https://github.com/wensheng/hcs-grpc-api-py-client.git
Setup virtual env for python then install dependencies:
cd hcs-grpc-api-py-client
python3 -m venv venv
./venv/bin/python install -r requirements.txt
Generate code (compile .proto to .py):
./compile.sh # make sure deps.txt match compile_deps.sh
./compile_deps.sh
Build package:
rm -fr build dist
./venv/bin/python -m build
Test package:
./venv/bin/pip uninstall hcs-grpc-client
./venv/bin/pip install dist/hcs-grpc-client-(current_version)-py3-none-any.whl
Upload to Pypi (don't do this unless you're me):
python -m twine upload dist/*
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for hcs_grpc_client-0.20.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fdc456a6b1654756fb379211cd00094fafced2f2fe01dba86c5d02cfdd9ee7e3 |
|
MD5 | e513bbf452bbbc0ab2808e3ff725a116 |
|
BLAKE2b-256 | 1ed16cd12bf4222243cb3d8801f13c06bbf7b4d634539d1028ac9406fdde9ccb |