首先,回到合约所在的SmartPy在线IDE。页面顶部有一个“Compile”按钮。单击此按钮将合约编译成Tezos区块链可以理解的底层语言Michelson。
编译完成后,页面底部会出现“Deploy Michelson Contract”按钮。点击此按钮开始部署流程。
进入部署界面后,您可以选择部署合约的网络。在本教程中,请选择“Testnet(测试网)”。在将合约部署到主网上之前,建议大家一定先在测试网上进行测试。
您需要一个Tezos钱包来支付部署费用。如果您没有测试网钱包,可以访问此处来获取测试网XTZ并支付部署费。
支持多个浏览器扩展钱包。
创建好Tezos钱包后,您可以单击此处请求水龙头测试网代币通过浏览器与您的钱包连接。
选择好测试网后,输入您的测试网Tezos地址和私钥。确保您的私钥是安全可靠的!单击“Deploy”按钮开始部署合约。
此时,您会看到一个对话框,其中包含有关操作的信息。如果信息正确,请确认操作。随后,合约将部署到Tezos测试网。此过程可能需要几分钟时间。
成功部署合约后,您将收到一个合约地址。牢记此地址,在使用合约时您将需要该地址。
合约部署完成后,您可以通过SmartPy IDE中的“Contract Interactions”功能来使用合约。
进入“Contract Interactions”页面,输入已部署合约的地址。
该界面将显示合约的入口点,您可以通过这些入口点来使用合约。
要调用合约的入口点,请单击其名称,填写必要的参数,然后单击“Execute(执行)”。
例如,要铸造新代币,请选择“Mint”入口点,输入接收者地址和要铸造的代币数量,然后单击“Execute”。
如果操作成功,代币将被铸造并添加到接收者的余额中。您可以通过查询接收者地址的余额进行验证。
需要注意的是,在区块链上使用合约需要支付gas费,因此,您需要确保钱包中有足够的余额。
在我们的合约范例中,代币名称是在我们在test()
函数中初始化测试场景时定义的。它作为token_metadata
映射的一部分被包含在内:
Python
token_metadata = {
"decimals": sp.utils.bytes_of_string("18"), # Mandatory by the spec
"name": sp.utils.bytes_of_string("My Great Token"), # Recommended
"symbol": sp.utils.bytes_of_string("MGT"), # Recommended
# Extra fields
"icon": sp.utils.bytes_of_string(
"https://smartpy.io/static/img/logo-only.svg"
),
}
在这段代码中,“My Great Token”是代币的初始名称。要为代币设置不同的名称,您只需将其替换为您想要的名称即可。例如,如果要将代币命名为“GateLearn”,我们需要将代码修改如下:
Python
token_metadata = {
"decimals": sp.utils.bytes_of_string("18"), # Mandatory by the spec
"name": sp.utils.bytes_of_string("GateLearn"), # Recommended
"symbol": sp.utils.bytes_of_string("GL"), # Recommended
# Extra fields
"icon": sp.utils.bytes_of_string(
"https://smartpy.io/static/img/logo-only.svg"
),
}
通过这种方式,我们便能创建名为“GateLearn”的代币。该名称在合约中表示为字节字符串,并将显示在与我们的合约交互并支持FA1.2标准的应用中。需要注意的是,代币的名称以及token_metadata
映射中包含的其他详细信息是在合约部署时设置的。合约一旦部署,这些信息将无法更改,除非您在合约中实现了允许此类修改的功能。
首先,回到合约所在的SmartPy在线IDE。页面顶部有一个“Compile”按钮。单击此按钮将合约编译成Tezos区块链可以理解的底层语言Michelson。
编译完成后,页面底部会出现“Deploy Michelson Contract”按钮。点击此按钮开始部署流程。
进入部署界面后,您可以选择部署合约的网络。在本教程中,请选择“Testnet(测试网)”。在将合约部署到主网上之前,建议大家一定先在测试网上进行测试。
您需要一个Tezos钱包来支付部署费用。如果您没有测试网钱包,可以访问此处来获取测试网XTZ并支付部署费。
支持多个浏览器扩展钱包。
创建好Tezos钱包后,您可以单击此处请求水龙头测试网代币通过浏览器与您的钱包连接。
选择好测试网后,输入您的测试网Tezos地址和私钥。确保您的私钥是安全可靠的!单击“Deploy”按钮开始部署合约。
此时,您会看到一个对话框,其中包含有关操作的信息。如果信息正确,请确认操作。随后,合约将部署到Tezos测试网。此过程可能需要几分钟时间。
成功部署合约后,您将收到一个合约地址。牢记此地址,在使用合约时您将需要该地址。
合约部署完成后,您可以通过SmartPy IDE中的“Contract Interactions”功能来使用合约。
进入“Contract Interactions”页面,输入已部署合约的地址。
该界面将显示合约的入口点,您可以通过这些入口点来使用合约。
要调用合约的入口点,请单击其名称,填写必要的参数,然后单击“Execute(执行)”。
例如,要铸造新代币,请选择“Mint”入口点,输入接收者地址和要铸造的代币数量,然后单击“Execute”。
如果操作成功,代币将被铸造并添加到接收者的余额中。您可以通过查询接收者地址的余额进行验证。
需要注意的是,在区块链上使用合约需要支付gas费,因此,您需要确保钱包中有足够的余额。
在我们的合约范例中,代币名称是在我们在test()
函数中初始化测试场景时定义的。它作为token_metadata
映射的一部分被包含在内:
Python
token_metadata = {
"decimals": sp.utils.bytes_of_string("18"), # Mandatory by the spec
"name": sp.utils.bytes_of_string("My Great Token"), # Recommended
"symbol": sp.utils.bytes_of_string("MGT"), # Recommended
# Extra fields
"icon": sp.utils.bytes_of_string(
"https://smartpy.io/static/img/logo-only.svg"
),
}
在这段代码中,“My Great Token”是代币的初始名称。要为代币设置不同的名称,您只需将其替换为您想要的名称即可。例如,如果要将代币命名为“GateLearn”,我们需要将代码修改如下:
Python
token_metadata = {
"decimals": sp.utils.bytes_of_string("18"), # Mandatory by the spec
"name": sp.utils.bytes_of_string("GateLearn"), # Recommended
"symbol": sp.utils.bytes_of_string("GL"), # Recommended
# Extra fields
"icon": sp.utils.bytes_of_string(
"https://smartpy.io/static/img/logo-only.svg"
),
}
通过这种方式,我们便能创建名为“GateLearn”的代币。该名称在合约中表示为字节字符串,并将显示在与我们的合约交互并支持FA1.2标准的应用中。需要注意的是,代币的名称以及token_metadata
映射中包含的其他详细信息是在合约部署时设置的。合约一旦部署,这些信息将无法更改,除非您在合约中实现了允许此类修改的功能。