web3.0是在web2.0的基础上发展起来的能够更好地体现网民的劳动价值,并且能够实现价值均衡分配的一种互联网方式。伴随着IPFS、Filecoin、区块链、云计算等新技术的发展,互联网需要解决去中心化、身份信任、隐私保护、公平公开等问题,特别是区块链技术,共识机制、智能合约、分布式记账等技术加持,区块链技术逐渐广泛应用,催生了web3.0的进一步发展。
编写智能合约
在 contracts/
目录下新建文件Adoption.sol
。
pragma solidity >=0.4.22 <0.8.0;
contract Adoption {
address[16] public adopters;
// Adopting a pet
function adopt(uint petId) public returns (uint) {
require(petId >= 0 && petId <= 15);
adopters[petId] = msg.sender;
return petId;
}
// Retrieving the adopters
function getAdopters() public view returns (address[16] memory) {
return adopters;
}
}
编译智能合约
$ truffle compile
安装ganache-cli
$ npm install -g ganache-cli
部署智能合约
truffle-config.js
所在目录执行
$ truffle dev
也可以让启动在后台运行:$ truffle dev &
启动一条区块链,默认会生成10个账户,每个账户里有100个以太坊。默认监听localhost:8545
)
在/migrations
目录下新建一个文件2_deploy_contracts.js
,接下来就是测试区块链的正确性,以及与其交互的工作了。