Solidity语言正式学习前的准备工作-包括Ganache-MetaMask-RedixIDE

1.Ganache使用说明

1.1.Ganache介绍

        由于执行交易需要消费以太币,因此在正式以太坊网络环境中需要花*购买以太币,在测试以太坊网络环境中需要通过某些渠道获取测试以太币,这比较麻烦且执行交易速度较慢。Ganache是一个本地以太坊网络环境的应用程序,为用户提供了以太坊账户,且为每个账户提供了以太币,这很好的解决了正式和测试以太坊网络环境遇到的问题,非常适用于学习solidity语言。

       接下来对Ganache的介绍,仅仅对用到的模块进行介绍。若想要了解更多,请查看官方教程

1.2.Ganache安装(windows系统)

  • 下载Ganache,下载地址:Ganache - Truffle Suite
  • 双击下载的安装程序
  • 选择“仅为我安装(Administrator)”,然后点击“下一步”按钮

  • 选择安装位置,并点击“安装”按钮,然后等待安装完成

1.3.创建和进入Ganache工作空间

  • 初次打开Ganache会看到如下图页面,启动“Analytics enabled.Thanks!”,然后点击“CONTINUE”按钮

  • 确定下图画圈处显示的为“ETHEREUM”,否则点击右侧图标选中“ETHEREUM”,然后点击“NEW WORKSPACE”按钮

  • 为你的工作空间取一个名字,然后点击“START”按钮,然后等待工作空间创建完成

  • 工作空间创建成功后,进入的工作空间如下图,后续会详细介绍工作空间

注:退出Ganache后,再次打开Ganache,在下图画圈区点选列表项可直接进入已创建好的工作空间

1.4.Ganache工作空间介绍

  • 账户页面:显示助记词、账户地址、以太币余额。点击“钥匙”图标可查看私钥

  • 区块页面:显示区块链上开采的每个区块,以及使用的 gas 和交易

  • 交易页面:显示所有交易

2.MetaMask使用说明

2.1.MetaMask介绍

        MetaMask (又称为小狐狸) 是一种以太坊钱包,帮助用户管理以太坊账户和资金,并提供查询余额和转账等功能。

        MetaMask是一个浏览器插件,支持谷歌浏览器、火狐浏览器,以及国内主流浏览器,如360安全浏览器等。

2.2.MetaMask安装(以火狐浏览器为例)

  • 打开火狐浏览器扩展页面,并搜索MetaMask。在搜索结果中选择MetaMask点击打开

  • 点击“添加到 Firefox”按钮

  • 之后火狐浏览器弹出如下弹窗,点击“添加”按钮。此时MetaMask插件安装完成

 MetaMask插件完成后,会打开如下图,并在浏览器右上角显示小狐狸头像图标

2.3.MetaMask关联Ganache

  • 点击“开始使用”按钮

  • 点击“我同意”按钮

  • 点击“导入钱包”按钮

  • 打开Ganache并进入工作空间,复制助记词。

  • 黏贴助记词,输入密码,同意条款,然后点击“导入”按钮。(注:若长时间处于加载中页面,则刷新下页面)

  • 点击“下一步”按钮

  • 点击“点击此处以显示助记词”后,点击“下一步”按钮。

  • 按照助记词的顺序点击单词。然后点击“确认”按钮

  • 点击“全部完成”按钮

  • 完成后,进入MetaMask主页面。点击下图画圈处

  • 点击“添加网络”按钮

  • 点击“手动添加网络”按钮

  • 网络名称:随便填写,我这里填写为Ganache;

        新的PRC URL:填写Ganache的PRC SERVER,如下图。(注:“HTTP”改为小写);

        链ID:填写为1337;

        货币符号:填写为ETH;

        区块浏览器URL:不用填写;

        然后,点击“保存”按钮。

 按照上述步骤配置完成后,你可以看到MetaMask以连接上Ganache,并且账户余额显示为100ETH。

 2.4.MetaMask添加账户

        在Ganache账户页面可以看到有很多账户,但在MetaMask只可以看到一个账户,这需要手动将其他账户添加进MetaMask中。

  • 打开Ganache的账户页面,点击相应账户后面的“钥匙”图标

  • 复制私钥

  • 点击MetaMask右上角头像,然后点击“导入账户”

  • 黏贴私钥,然后点击“导入”按钮。

添加完成后,点击头像,可以查看到新添加的账户。点击“创建账户”也可以添加新的账户。

3.Redix使用说明

3.1.Redix介绍

        目前编写Solidity语言最好的编译器是Remix编译器。Remix是一个基于Web浏览器的编译器(也就是说用户不需要安装编译器软件和配置运行环境,打开Remix网站即可使用),它可以让用户编写Solidity智能合约,然后将智能合约代码编译为智能合约字节码,最后将状态变量和智能合约字节码存储在合约账户里,并且支持用户调用智能合约函数。

        点击进入Redix编译器网站地址

        Redix官方教程

3.2.Redix编写、编译、部署智能合约

  • 初次进入Redix网站会有一个“Help us to improve Remix IDE”弹窗,点击“Accept”按钮即可。
  • 编写智能合约

        操作步骤:点击“File explorer”图标,选中“contracts”文件夹,右键点击“New File”,给新建文件命名(注:智能合约的扩展名是“.sol”,在填写名称时要手动填写上扩展名),然后编写智能合约(以编写统计工资StatisticsSalary智能合约为例)。

  • 编译智能合约

        介绍:在此步骤生成ABI和Bytecode (ABI和Bytecode在“Solidity编程语言进阶知识”教程中详细介绍)

        操作步骤:点击“Solidity compiler”图标,然后点击“Compile xxx.sol”按钮。每次修改智能合约后都需要重新操作此步骤,为避免重复的操作可以勾选“Auto compile”,勾选后编译器可以自动执行编译。

  • 部署智能合约

        介绍:将编译后的智能合约部署到以太坊网络中。

        操作步骤:点击“Deploy & run transactions”图标,然后打开“ENVIRONMENT”的下拉列表并选中“Injected Provider - MetaMask”用于链接MetaMask,再然后打开“Contract(Compiled by remix)”的下拉列表并选中要部署的合约(注意:当源文件中有多个合约时才需要使用此步骤),最后点击“Deploy”按钮。由于部署智能合约是一个“部署合约交易”,因此需要消耗燃料费,在点击“Deploy”按钮后,会弹出MetaMask弹窗用于支付燃料费,在弹窗中点击“确认”按钮,等待部署完成。

智能合约部署成功后,会在Ganache的区块页面生一个区块数据和在交易页面生成一个交易数据。

3.3.Redix调用智能合约

        介绍:调用智能合约本质是对函数的调用。智能合约部署成功后,会在下图花圈处显示已部署的智能合约。

        操作步骤:点击图标后,会查看到累加工资accumulateSalary和获取总工资getTotalSalary两个函数;输入参数并点击相应按钮,然后根据情况支付燃料费后会调用相应函数。例如:在“accumulateSalary”按钮后面的输入框输入3200,并点击“accumulateSalary”按钮,这个过程会改变状态变量totalSalary,因此需要支付燃料费,在MetaMask弹窗支付燃料费后,等待调用成功后,会在Ganache的区块页面生一个区块数据和在交易页面生成一个交易数据。点击“getTotalSalary”按钮,由于获取总工资getTotalSalary函数只是从以太坊网络中获取数据,并没有改变账户状态,因此不是交易,不用支付燃料费,也不会产生区块数据和交易数据,会在“getTotalSalary”按钮下面显示总工资3200。

        注意:每次点击“Deploy”按钮或点击函数按钮(如:accumulateSalary按钮和getTotalSalary按钮),都会在右侧画圈出显示出更多或更复杂的信息。

3.4.向智能合约发送以太币

        智能合约部署后,会生成一个合约账户,可以使用外部账户向和合约账户发送以太币(即外部账户向合约账户转账以太币)。

        操作步骤:在value输入框中填写要转账的金额,然后在后面的下列表选择以太币单位,最后按照上述【Redix调用智能合约】步骤操作。

        在下图绿色画圈处,显示的是合约账户含有的以太币余额。

 3.5.向智能合约的构造函数传递参数

        在合约中可以声明一个特殊的函数,这个函数是构造函数(在“Solidity编程语言基础知识”教程中详细介绍),构造函数的输入参数必须在部署时输入。

        操作步骤:在“Deploy”按钮后的输入框输入数据,然后按照上述【Redix调用智能合约】步骤操作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值