Skip to main content

No project description provided

Project description

Python client for Tread contracts

Getting started

This project is using the following tools:

You can install these as follows:

> brew install pipx
> pipx ensurepath
> pipx install poetry
> poetry completions bash >> ~/.bash_completion

With poetry, you can install dependencies as follows. Note that if you do not have a virtual env active, poetry will automatically create and manage one for you, specific to this project.

> poetry install

Run tests

You can run simple tests as follows. These will run on the Sepolia Base testnet by default.

# when we require multiple validators for consensus, below tests won't work
# Note: Make sure the poetry virtualenv is active, e.g. `source .venv/bin/activate`.
#
# Run with Gelato meta-transactions (enabled by default).
> python -m test_client.main auto
# Run with meta-transactions disabled.
> python -m test_client.main auto false

Publish to PyPI

Make sure the version field in pyproject.toml is updated as needed.

poetry publish --build --dry-run
poetry publish --build

Example transactions

Trader ID

Reading a record or writing an attestations requires a trader ID. We are using 0xABCD as a mock trader ID for these examples.

Contract read example

> python -m test_client.main read-info

Attestations contract 0xB4f9A1f1347b7D8eb97dC70672576BB96E0510e0:
  data group members: 0x64D8672534A169B0340fA10F6340CE45aE36d0e7
  epoch length: 600 seconds
  epoch zero start: 0 (1969-12-31 19:00:00 local)
  Current epoch number: 2880124
  Current epoch 2880124 starts at 1728074400 (2024-10-04 16:40:00 local) and ends at 1728075000 (2024-10-04 16:50:00 local)

Data attestation write example

> python -m test_client.main write-data 0xABCD 0 0x1234 mock-cid

Submitted transaction 0x2280079a88ae3af1923feeb40e0938862d7f141c1c87d31d5da0ca189c1010c7. Waiting for confirmation...
Transaction confirmed in block 16153093

Data attestation read example

> python -m test_client.main read-data 0xABCD 0

Consensus for epoch 0:
  Merkle root: 0x0000000000000000000000000000000000000000000000000000000000001234

Risk end-to-end example

>  python -m test_client.main create-group 0x64D8672534A169B0340fA10F6340CE45aE36d0e7 1

Submitting and waiting for transaction...
Created risk group 1

> python -m test_client.main read-group 1

Risk group 1:
  members: ['0x64D8672534A169B0340fA10F6340CE45aE36d0e7']
  threshold: 1

> python -m test_client.main create-parameter mock-name mock-desc

Submitting and waiting for transaction...
Created risk parameter 0

> python -m test_client.main read-parameter 0

Risk parameter 0:
  name: mock-name
  description: mock-desc

> python -m test_client.main write-risk 0xABCD 0 0 1 123

Submitted transaction 0xb9d1ae7fd71d43a456a62fcffba7aae0542671e66eef410136be547d803c7205. Waiting for confirmation...
Transaction confirmed in block 16153127

> python -m test_client.main read-risk 0xABCD 0 0 1

Consensus for epoch 0:
  Risk value: 1234

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

tread_contracts-0.1.7.tar.gz (13.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tread_contracts-0.1.7-py3-none-any.whl (15.0 kB view details)

Uploaded Python 3

File details

Details for the file tread_contracts-0.1.7.tar.gz.

File metadata

  • Download URL: tread_contracts-0.1.7.tar.gz
  • Upload date:
  • Size: 13.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.0.1 CPython/3.13.1 Darwin/24.3.0

File hashes

Hashes for tread_contracts-0.1.7.tar.gz
Algorithm Hash digest
SHA256 059e15c8a1455380a3cf0e17a1087a0744035da77af7eb2787ee42452e692b97
MD5 3af20605438d4e8138ce490f1438541f
BLAKE2b-256 7dea28a3c3f7695abe29d502f2015985f5a40e9972a03669fe967bfcbb180211

See more details on using hashes here.

File details

Details for the file tread_contracts-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: tread_contracts-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 15.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.0.1 CPython/3.13.1 Darwin/24.3.0

File hashes

Hashes for tread_contracts-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 b4e658d367d6ef2c29babecc3f03425860f2162905b3fa706e9ebfe189d47ad2
MD5 502e04a63a0593616a6f688479362953
BLAKE2b-256 45c5f131bbdefaa88ddc27f482f1099f66802a9af65b1bab2470a3488e1032b8

See more details on using hashes here.

Supported by

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