LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 区块链资产 > 【以太坊智能合约编程4】 Remix -Solidity IDE简介之编写,部署,调试,调用

【以太坊智能合约编程4】 Remix -Solidity IDE简介之编写,部署,调试,调用

2021-05-31 邹刚 来源:区块链网络

网上的大神都建议新手使用Remix -Solidity IDE来进行开发。听人劝吃饱饭,所以我们简单介绍一下remix。

Remix -Solidity IDE简介

Remix IDE 是一款基于浏览器的IDE

IDE就是“集成开发环境”(简单说就是写代码的地方)(编写,部署,调试,调用)

好处就是不用安装,打开即用。毕竟大家在自己的笔记本上安装这些东西头都是大的。

Remix-IDE布局


图标面板(IconPanel)

侧面板(SidePanel)

主面板(MainPanel)在这里拷贝代码。

终端(显示执行结果)在这里查看与GUI交互的结果。也可以在此处运行脚本。

Solidity简单数据存储智能合约

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)翻译成机器的语言(可以执行的二进制文件)呢。

Remix IDE 出来干活了


首先新建(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


大功告成

通过解剖一个简单的代码,基本操作都在这里了。

现在关键不是学习solidity语言的问题,学这sol几乎就是学英语,非常的简单。现在关键的是学习以太坊本身。理解区块链本身的逻辑。甚至是理解金融的逻辑才是重点。说的大一点,理解人性的贪婪和恐惧才是真正的重点。

下面计划写一个发币的智能合约,我们大家都来发土狗币玩玩。来个10000万亿,红包砸死你。哈哈哈!

谢谢大家!

—-

编译者/作者:邹刚

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...