Skip to main content

The Python Client SDK for Diem

Project description

The official Diem Client SDK for Python.

pypi Apache V2 License Python versoins

API Reference

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. SPEC
  • stdlib: 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 utils
  • identifier: Diem Account Identifier and Diem Intent Identifier. DIP-5
  • txnmetadata: utils for creating peer to peer transaction metadata. DIP-4
  • testnet: 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


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)

Uploaded Source

Built Distribution

diem-1.7.1-py3-none-any.whl (195.8 kB view details)

Uploaded Python 3

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

Hashes for diem-1.7.1.tar.gz
Algorithm Hash digest
SHA256 f76b805361388c2fb9d49fec68eca1bad5288cc2c2b86382b278608e2d529fa8
MD5 b07ee946d469cc19451b1b756dd6c226
BLAKE2b-256 81d2399e995c3d22f048a5d2d5452d8f9b7b27e1a8d6071013de6d0167280bc2

See more details on using hashes here.

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

Hashes for diem-1.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 af316046fc60340259f63566ab4eca0b3b1e917defa45dd307050e065ac6dd95
MD5 67f61dcf05e510910adacb24adcf0991
BLAKE2b-256 78a414248e94ab718f842fba009102e2fc9daa167c68cc120bbf17afc38878f2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page