一个简单的智能合约从一个非常基本的示例合约开始ZhaoxiStorage{uintstoredData;functionset(uintx){storedData=x;}functionget()constantreturns(uintretVal){returnstoredData;}}在Solidity中,合约由一组代码(合约的函数)和数据(合约的状态)组成。合同位于以太坊区块链上的一个地址。uint存储数据;这行代码声明了一个名为storedData的状态变量,其类型为无符号整数uint。可以看成是数据库中的一条记录,可以通过调用函数进行查询和修改。在以太坊中,通常只有合约的所有者才能这样做。在本例中,set和get函数分别用于修改和查询变量的值。与许多其他语言一样,在访问状态变量时,不需要像这样添加前缀。在它的前面。任何人都可以调用set方法来设置一个不同的号码来覆盖您发布的号码。但你的号码将保留在区块链的历史中。稍后我们将学习如何增加访问限制。加密货币示例以下合约将以最简单的形式实施加密货币。通过这个代码,只要有以太坊的一对公私钥,任何人都可以在不注册用户名和密码的情况下向他人发送货币。contractZhaoxiCoin{//关键字“public”允许从合约外部访问变量。addresspublicminter;mapping(address=>uint)publicbalances;//事件允许轻客户端有效地对变化做出反应。eventSent(addressfrom,addressto,uintamount);//此构造函数的代码仅在创建合约时运行。functionZhaoxiCoin(){minter=msg.sender;}//合约创建者可以调用mintfunctionmint(addressreceiver,uintamount){if(msg.sender!=minter)return;balances[receiver]+=amount;}//send可以被任何有tokens的人调用functionsend(addressreceiver,uintamount){if(balances[msg.sender]
