跳转到主要内容

Python 中 Soroban 合同的 API 和 CLI

项目描述

Python 中 Soroban 合同的 API 和 CLI

此软件包提供了与 Python 中的 Soroban 合同交互的工具。目标是提供一个简单的功能集,同时不依赖于 Rust SDK。这在 Rust 和 SDK 可能更难工作的环境中很有用(例如 Raspberry Pi)。

入门

pip install soroban

这提供了一种简单的方法来调用合同,而无需安装 Rust SDK,并且与使用 Python SDK 相比,它是一个更高级的接口。

import soroban

soroban.invoke(contract_id="AAAA...", function_name="increment")

身份和网络配置会自动从本地配置或当前工作目录中提取。见下文。

它还提供了一个 CLI

soroban invoke C... version --source-account=...

用法

主要功能是能够调用 Soroban 合同函数: soroban.invoke

import soroban

soroban.invoke(contract_id="AAAA...", function_name="increment")

它还支持将参数作为 stellar_sdk.SCVal 的列表传递。这个列表可以轻松生成

import json
import soroban

args = json.load(...)
args = soroban.Parameters(args=args)
soroban.invoke(contract_id="AAAA...", function_name="init", args=args)

以下JSON语法受支持。请注意,向量也受支持。

[
  {
    "name": "issuer",
    "type": "address",
    "value": "C..."
  },
  {
    "name": "distributor",
    "type": "int128",
    "value": 10
  },
  {
    "name": "claimants",
    "type": "vec",
    "value": [
      {
        "type": "uint32",
        "value": 12
      },
      {
        "type": "int64",
        "value": 20
      }
    ]
  }
]

还提供了一些辅助函数。

  • soroban.create_account:从源账户创建和资助账户;
  • soroban.create_asset:使用古典发行商/分配者模型创建资产。

配置

使用soroban.Identitysoroban.NetworkConfig实例化来设置要使用的源账户和网络。

import soroban

identity = soroban.Identity()
network = soroban.NetworkConfig()

在这两种情况下,可以通过调整初始化参数、设置环境变量或使用toml配置文件来设置配置。

soroban.Identity的默认路径是identity.toml,而soroban.NetworkConfig的默认路径是testnet.toml。以下是这些文件的示例。

secret_key = "S..."
horizon_url = "https://horizon-testnet.stellar.org"
rpc_url = "https://soroban-testnet.stellar.org"
network_passphrase = "Test SDF Network ; September 2015"

任何这些字段都可以设置为环境变量。

致谢

此存储库与Stellar开发者基金会没有关联。官方CLI可以在以下位置找到:https://github.com/stellar/soroban-cli 如果这变得有用,我很乐意将其转让给SDF组织!

项目详情


下载文件

下载适合您平台文件的文件。如果您不确定要选择哪个,请了解更多关于安装包的信息。

源分发

soroban-0.8.0.tar.gz (9.8 kB 查看散列)

上传时间

构建分发

soroban-0.8.0-py3-none-any.whl (9.3 kB 查看散列)

上传时间 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面