The Python Client SDK for Diem
Project description
The official Diem Client SDK for Python.
Pypi package
https://pypi.org/project/diem/
Examples
>>> from diem import jsonrpc, testnet
>>> client = jsonrpc.Client(testnet.JSON_RPC_URL)
>>> client.get_metadata()
version: 3300304
timestamp: 1601492912847973
chain_id: 2
You can find more examples under the examples
directory:
Note: make test
runs all examples too, see the Makefile for details.
Off-chain service example
Checkout MiniWallet implementation for off-chain service implementation example.
MiniWallet and MiniWallet Test Suite
See mini_wallet.md
Build & Test
make init
make test
run specific test:
make test t=<test file / test name match pattern>
run with local docker testnet (requires initializing diem submodule):
make test t=<test file / test name match pattern> dt=1
Re-generate diem_types, stdlib, jsonrpc response data structures
git submodule update --init diem
cd diem
git pull origin main
cd ..
make gen
Modules Overview
SPEC = specification
DIP-X = Diem Improvement Protocol
Root module name: diem
Sub-modules:
jsonrpc
: diem JSON-RPC APIs client and API response types. SPECstdlib
: generated code, move stdlib script utils for constructing transaction script playload.diem_types
: generated code, Diem on-chain data structure types for encoding and decoding BCS data.utils
: utility functions, account address utils, currency code, hashing, hex encoding / decoding, transaction utils.AuthKey
|auth_key
: auth key utilsidentifier
: Diem Account Identifier and Diem Intent Identifier. DIP-5txnmetadata
: utils for creating peer to peer transaction metadata. DIP-4testnet
: Testnet utility, minting coins, create Testnet client, chain id, Testnet JSON-RPC URL.testing
: Testing utility, MiniWallet application, MiniWallet test suites,LocalAccount
for managing local account keys and generating random local account.chain_ids
: list of static chain ids
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
diem-1.7.1.tar.gz
(160.8 kB
view details)
Built Distribution
diem-1.7.1-py3-none-any.whl
(195.8 kB
view details)
File details
Details for the file diem-1.7.1.tar.gz
.
File metadata
- Download URL: diem-1.7.1.tar.gz
- Upload date:
- Size: 160.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.20.0 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f76b805361388c2fb9d49fec68eca1bad5288cc2c2b86382b278608e2d529fa8 |
|
MD5 | b07ee946d469cc19451b1b756dd6c226 |
|
BLAKE2b-256 | 81d2399e995c3d22f048a5d2d5452d8f9b7b27e1a8d6071013de6d0167280bc2 |
File details
Details for the file diem-1.7.1-py3-none-any.whl
.
File metadata
- Download URL: diem-1.7.1-py3-none-any.whl
- Upload date:
- Size: 195.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.20.0 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | af316046fc60340259f63566ab4eca0b3b1e917defa45dd307050e065ac6dd95 |
|
MD5 | 67f61dcf05e510910adacb24adcf0991 |
|
BLAKE2b-256 | 78a414248e94ab718f842fba009102e2fc9daa167c68cc120bbf17afc38878f2 |