Skip to main content

SDK for interacting with Digital Product Passport smart contracts

Project description

Solidity Python SDK

Overview

The Solidity Python SDK is a Python library designed for interacting with Digital Product Passport smart contracts. It provides an easy-to-use interface for deploying and interacting with smart contracts on the Ethereum blockchain.

Features

  • Load Contracts: Load and interact with pre-deployed smart contracts.
  • Deploy Contracts: Deploy new smart contracts to the Ethereum blockchain.
  • Set and Get Product Details: Set and retrieve detailed product information from smart contracts.
  • Support for IPFS: Integrate with IPFS for storing and retrieving product-related documents.

Installation

To install the SDK, you can use pip:

pip install -i https://test.pypi.org/simple/ solidity-python-sdk==0.1.1

or

pip install solidity-python-sdk

Usage

Here's a quick start guide to help you get started with the SDK:

Basic Usage

from solidity_python_sdk.main import DigitalProductPassportSDK

sdk = DigitalProductPassportSDK()

Deploy a Contract

account_address = "0xYourEthereumAddress"
contract_address = sdk.product_passport.deploy(account_address)
print(f"Contract deployed at address: {contract_address}")

Set Product Details

product_details = {
    "productId": 1,
    "description": "Brigadeiro Product Passport",
    "manuals": ["QmbnzbFDcmtJhyw5XTLkcnkJMhW86YZg6oc3FsNBeN2r4W"],
    "specifications": ["QmbnzbFDcmtJhyw5XTLkcnkJMhW86YZg6oc3FsNBeN2r4W"],
    "batchNumber": "BRG-2023-001",
    "productionDate": "2023-06-20",
    "expiryDate": "2023-12-31",
    "certifications": "FDA-5678",
    "warrantyInfo": "Not applicable",
    "materialComposition": "Condensed milk, cocoa powder, butter, chocolate sprinkles",
    "complianceInfo": "Compliant with local food safety regulations",
    "ipfs": "QmWDYhFAaT89spcqbKYboyCm6mkYSxKJaWUuS18Akmw96t"
}

tx_receipt = sdk.product_passport.set_product_data(contract_address, 1, product_details)
print(f"Transaction receipt: {tx_receipt}")

Get Product Details

product_data_retrieved = sdk.product_passport.get_product_data(contract_address, 1)
print(f"Retrieved product data: {product_data_retrieved}")

Documentation

The documentation for the SDK is available in the docs directory. You can view the documentation in Markdown format or convert it to other formats if needed.

Contributing

We welcome contributions to improve the SDK! Please follow these steps to contribute:

Fork the repository.

Create a new branch for your changes. Make your changes and write tests. Submit a pull request with a clear description of your changes.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Contact

For any questions or support, please contact:

Author: Luthiano Trarbach Email: luthiano.trarbach@proton.me

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

solidity_python_sdk-0.1.3.tar.gz (30.2 kB view details)

Uploaded Source

File details

Details for the file solidity_python_sdk-0.1.3.tar.gz.

File metadata

  • Download URL: solidity_python_sdk-0.1.3.tar.gz
  • Upload date:
  • Size: 30.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.13

File hashes

Hashes for solidity_python_sdk-0.1.3.tar.gz
Algorithm Hash digest
SHA256 4324d9a84f054c5c7da559404e7dee153b14954f28e5523a5489e06c353c1db1
MD5 1391f1fcfeb5b78f63b2abddb0cd42d9
BLAKE2b-256 c89f447c09a3be2355493cf21ecaf65972f6d20c4d083dc71f74a1d539737d4c

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