2021-05-31 10:11 | 出处: 邹刚
网上的大神都建议新手使用Remix -Solidity IDE来进行开发。听人劝吃饱饭,所以我们简单介绍一下remix。
Remix IDE 是一款基于浏览器的IDE
IDE就是“集成开发环境”(简单说就是写代码的地方)(编写,部署,调试,调用)
好处就是不用安装,打开即用。毕竟大家在自己的笔记本上安装这些东西头都是大的。
Remix-IDE布局
图标面板(IconPanel)
侧面板(SidePanel)
主面板(MainPanel)在这里拷贝代码。
终端(显示执行结果)在这里查看与GUI交互的结果。也可以在此处运行脚本。
pragma solidity >=0.4.22 <0.7.0;
contract SimpleStorage {
uint storedData;
function set(uint x) public {
storedData = x;
}
function get() public view returns (uint) {
return storedData;
}
}
pragma solidity >=0.4.22 <0.7.0;
//第一行就是告诉大家源代码
//使用Solidity版本大于0.4.0
//并且小于 0.7.0
contract SimpleStorage {}
// contract 说明这是一个合约
// SimpleStorage 是合约的名字,叫做“简单存储”
// 这个合约实现一个功能,就是用户将一个数字存储到区块链数据库中,其他用户可以访问
uint storedData;
// 定义一个变量 storedData
function set(uint x) public {
storedData = x;
}
// set() 函数,输入一个值 x
// 把x赋值给 storedData
// 完成数据的存储
function get() public view returns (uint) {
return storedData;
}
// get() 函数,没有输入值
// 直接获取变量storedData的值
// 返回storedData的值
这个代码我们前面讲过,就像英语一样非常的简单。这个智能合约帮你存一个数到区块链中。
但是现在的问题是怎么让以太坊区块链也能认识这些代码呢?
换句话说怎么把人类的语言(solidity)翻译成机器的语言(可以执行的二进制文件)呢。
首先新建(1)一个demo.sol文件(2)。
把简单存储智能合约拷贝进去(3)。如上图。
咦!自动就打√了(compile编译成功)。废话,都是拷贝的代码,想出错都难啊!
如果有错误,可能是版本号(2)没有选好。
deploy就是部署的意思。
部署合约消耗了一点点以太坊。开始是100,现在是99.99999。哈哈哈!
当然这是虚拟的环境。
名词解释:Environment:
1. JavaScript VM
就是一个JavaScript虚拟环境,测试的时候就用这个,比如现在部署的合约。
2.Injected Web3
连接到嵌入到页面的Web3,比如连接到MetaMask。
3.Web3 Provider
连接到自定义的节点,如私有的测试网络。
如果是部署到真正的区块链,就要借助metemask小狐狸来(一个有余额的账号(见前文))部署合约。
点确认,支付gas费用,就可以部署了。
注意:如何使用metamask,以及如何访问水龙头领取免费的以太坊。有机会写一个傻瓜文章。非常的简单。
在下面的控制台可以看到细节。
下面开始最关键的。
首先我们转账1000进去,然后我们再读取,如果可以读出是1000,就说明上面的工作成功了。
在deployed contracts(部署的合约)下面的simplestorage(我们的简单存储)上面点一下小箭头,就打开了合约里面的两个函数。
在set里面写1000。然后点箭头,然后点transact(交易)
注意:和智能合约交互(或者调用)其实都是发送交易,都要经过小狐狸钱包支付gas费用来发送交易。
最激动人心的时间到了,我们的1000这个数据上了区块链吗?
点一下get()
换个数字 6666