在我的previous post中,我向您展示了如何在Windows上设置Soroban Python SDK。在这篇文章中,我们将使用SDK在Futurenet网络上部署和调用Soroban Smart合同。
准备
在开始之前,请确保您已经从我的GitHub存储库下载了以下文件:
soroban_deploy_contract.py - Python Script to Deploy Contract on Soroban Futurenet Network
soroban_invoke_contract_function.py - Python Script to Invoke Contract on Soroban Futurenet Network
soroban_hello_world_contract.wasm - Soroban Hello World Smart Contract
您可以下载这些文件here,可以使用任何其他合同文件,但是在这种情况下,我使用的是here的Soroban Hello World智能合约。此外,请确保您已经在Stellar Laboratory创建了一个Futurenet帐户并资助了它。
部署合同
要部署合同,打开Soroban_deploy_contract.py文件并调整以下参数:
secret = "S---" #Put your Account Secret Key here
rpc_server_url = "https://horizon-futurenet.stellar.cash:443/soroban/rpc"
network_passphrase = Network.FUTURENET_NETWORK_PASSPHRASE
contract_file_path = "./soroban_hello_world_contract.wasm"
secret
:我们将用来部署智能合约的帐户的秘密密钥。 用您自己的帐户秘密密钥替换值。
rpc_server_url
:您将使用RPC服务器的URL与Soroban Futurenet网络进行交互。
network_passphrase
:您将使用的密码选择网络。这可以根据您与之交互的网络进行更改;在这种情况下,我们将使用Futurenet。
contract_file_path
:您要部署的智能合约文件的路径。用您自己的合同文件路径替换值,或使用GitHub存储库中包含的soroban_hello_world_contract.wasm
文件。
使用更改保存Soroban_deploy_contract.py文件,然后使用此命令在命令提示符中运行脚本:
python soroban_deploy_contract.py
contract id: 74a28bbf401e0ed625921dc08b565b2179dba548c905594ed4de2565a3b02e78
调用合同
要调用合同,打开soroban_invoke_contract_function.py
文件并调整以下参数:
secret = "SDMVWEWUZVYDACEM3G2X2XT4W4BP3OSZHX3KXVOQTJMDIUQQLKAIWK7Z"
rpc_server_url = "https://horizon-futurenet.stellar.cash:443/soroban/rpc"
contract_id = "940985b099a50abf77b8e3a245471d1912f5c1d8502da07128619aa778d90c1f"
network_passphrase = Network.FUTURENET_NETWORK_PASSPHRASE
secret
:您将用来调用智能合约的帐户的秘密密钥。 用您自己的帐户秘密密钥替换值。
contract_id
:您要调用合同的合同ID。 在部署合同之前收到的合同ID替换值。
tx = (
TransactionBuilder(source, network_passphrase)
.set_timeout(300)
.append_invoke_contract_function_op(
contract_id=contract_id,
method="hello",
parameters=[Symbol("World")],
source=kp.public_key,
)
.build()
)
method
:您要调用功能的名称。
parameters
:功能所需的任何参数。
使用您的更改保存soroban_invoke_contract_function.py
文件,然后使用此命令将脚本运行在命令提示符中:
python soroban_invoke_contract_function.py
transaction result: ['Hello', 'World']
关闭
在这篇博客文章中,我们介绍了使用Soroban Python SDK部署和调用Soroban Smart Contract的步骤。您可以通过修改脚本来部署或调用其他智能合约。