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.Identity
和soroban.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 查看散列)
关闭
soroban-0.8.0.tar.gz的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 0b0b8efe2639d9be34561b0c270ce7edb1e781f062389c0ffcc9302d520cfb2f |
|
MD5 | b1db0dccaa6f48f85fd919064665457a |
|
BLAKE2b-256 | 4dcb80f01736be3196e1b3b025b9e886685c39b7a7aabc6bc7b0330d1fd321b6 |
关闭
soroban-0.8.0-py3-none-any.whl的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | f911817e5228074bb77f4b2009f9bc33ff067341766f6aed6ed373adbe231177 |
|
MD5 | 1aaa682899e59b6839e58a44e4311d97 |
|
BLAKE2b-256 | b079ef15e27e870fa8937c0b4768a1d6bf435d48e6e244614fa298410e94e64f |