Skip to main content

Incubed client and provider for web3. Based on in3-c for cython runtime.

Project description

Python bindings and library for in3. Go to our readthedocs page for more on usage.

This library is based on the C version of Incubed, which limits the compatibility for Cython, so please contribute by compiling it to your own platform and sending us a pull-request!

Quickstart

Install with pip

pip install in3

In3 Client Standalone

import in3

in3_client = in3.Client()
block_number = in3_client.eth.block_number()
print(block_number) # Mainnet's block number

in3_client.eth # ethereum module
in3_client.in3 # in3 module 

Tests

python tests/test_suite.py

Contributing

  1. Read the index and respect the architecture. For additional packages and files please update the index.
  2. (Optional) Get the latest libin3.dylib from the Gitlab Pipeline on the in-core project and replace it in in3/bind folder.
  3. Write the changes in a new branch, then make a pull request for the develop branch when all tests are passing. Be sure to add new tests to the CI.

Index

Explanation of this source code architecture and how it is organized. For more on design-patterns see here or on Martin Fowler's Catalog of Patterns of Enterprise Application Architecture.

  • in3.init.py: Library entry point, imports organization. Standard for any pipy package.
  • in3.eth: Package for Ethereum objects and tools.
  • in3.eth.account: Api for managing simple wallets and smart-contracts alike.
  • in3.eth.api: Ethereum tools and Domain Objects.
  • in3.eth.model: Value Objects for Ethereum.
  • in3.libin3: Package for everything related to binding libin3 to python. Libin3 is written in C and can be found here.
  • in3.libin3.shared: Native shared libraries for multiple operating systems and platforms.
  • in3.libin3.enum: Enumerations mapping C definitions to python.
  • in3.libin3.lib_loader: Bindings using Ctypes.
  • in3.libin3.runtime: Runtime object, bridging the remote procedure calls to the libin3 instances.

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

in3-0.0.0.tar.gz (30.8 kB view hashes)

Uploaded Source

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