智能合约:从 Python 调用智能合约
以太坊带来了智能合约的进步,其是可公开验证的代码。如果我们改变合约状态,我们将花费一些gas。现在,让我们创建一个Python程序,它可以在以太坊上调用智能合约。因为我们不想实验中支付费用,所以我们将运行Ganache,这是一个本地以太坊实例。
首先,我们去Remix.ethereum.org并添加我们的代码:
我们添加的代码中包括add(), sub(), mul(), sqr()和sqrt()函数:文章来源:https://www.toymoban.com/news/detail-806454.html
pragma solidity ^0.8.0;
contract mymath {
function sqrt(uint x) public view returns (uint y) {
uint z = (x + 1) / 2;
y = x;
while (z < y) {
y = z;
z = (x / z + z) / 2;
}
}
function sqr(uint a) public view returns (uint) {
uint c = a * a;
return c;
}
function mul(uint a, uint b) public view returns (uint) {
uint c = a * b;
return c;
}
function sub(uint a, uint b) public view returns (uint) {
return a - b;
}
function add(uint a, uint b) public view returns (uint) {
uint c = a + b;
return c;
}}
现在编译我们的智能合约,并生成ABI(应用程序二进制接口)。通过ABI,我们可以创建智能合约中所有数据元素和函数。这通常用JSON格式定义。在我们的例子中,ABI是(可以从Remix中的ABI复制按钮中复制):文章来源地址https://www.toymoban.com/news/detail-806454.html
{
"inputs": [
{
"internalType": "uint256",
"name": "a",
"type": "uint256"
},
{
"internalType": "uint256",
"name"
到了这里,关于智能合约:从 Python 调用智能合约的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!