文章前言
智能合约是一个运行在安全环境下的计算机程序,它可以直接控制数字资产,本篇文章我们主要介绍如何在公链环境中编译、部署、运行合约~
合约部署
合约创建
以太坊支持使用solidity编写的智能合约,用户可以使用Solidity编写一个自己所需要的之智能合约,例如:
pragma solidity ^0.8.4;
contract test{
function multiply(uint a) public returns(uint d){
return a *7;
}
}
复制
合约编译
关于合约的编译我们可以使用solc也可以使用在线编译工具Remix来对合约进行编译操作:
Bytecode:
{
"generatedSources": [],
"linkReferences": {},
"object":
复制
ABI:
[
{
"inputs": [
{
"internalType": "uint256",
"name": "a",
"type": "uint256"
}
],
"name": "multiply",
"outputs": [
{
"internalType": "uint256",
"name": "d",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
}
]
复制
之后在bejson中转义成字符串http://www.bejson.com/jsonviewernew/
[{\"constant\":false,\"inputs\":[{\"name\":\"a\",\"type\":\"uint256\"}],\"name\":\"multiply\",\"outputs\":[{\"name\":\"d\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\",\"stateMutability\":\"nonpayable\"}]
复制
合约部署
启动公链的交互模式:
sudo geth --networkid 666 --datadir /home/ubuntu/Private_eth/eth1 --identity "node1" --rpc --rpc