当前位置:首页 » 《随便一记》 » 正文

Remix的使用_weixin_46353030的博客

11 人参与  2022年05月29日 12:00  分类 : 《随便一记》  评论

点击全文阅读


最近在用remix写智能合约,碰到了一些不会操作的地方,先记录整理部署方式,后期再慢慢丰富内容;

环境

  • 线上版Remix

目录

一、界面介绍与基础功能的使用

待补充

二、编译合约

待补充

三、部署方式

参考文献:

https://blog.csdn.net/weixin_33806509/article/details/91387634?utm_term=remix%E8%AE%BE%E7%BD%AEweb3%E7%89%88%E6%9C%AC&utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2allsobaiduweb~default-1-91387634&spm=3001.4430

1. 本地部署 --JavaScript VM

Deploy(部署) 区域将 ENVIROMENT 设定为JavaScript VM,此时Account区域会提供10个账户地址,每个账户由100个eth测试币,合约只会部署到一个本地测试的区块链网络
在这里插入图片描述

2. 测试网部署 --injected Web3

在remix上想要将合约部署到测试网,需要先安装一个Chrome上的以太坊钱包插件

Metamask,插件安装步骤:
待补充

之后在Deploy(部署)区域将ENVIROMENT设定为injected Web3,我这里使用的测试网络是Kovan网,之后的部署和测试步骤和本地部署步骤一样:
在这里插入图片描述

注意:在测试网上部署合约一定要保证账户内有测试币,获取Kovan网的测试币地址为:https://gitter.im/kovan-testnet/faucet#,需要注册一个账户,之后在对话框里发送自己metamask账户到群聊上后会有机器人@你并提示“sended!”字样。

实战

这是一个代币生成合约,有以下三个功能:

  1. 创建合约:约定创建者即为铸币者
  2. 生成代币:调用mint方法创建指定数量的代币
  3. 发送代币:给指定地址发送代币
pragma solidity >0.4.24;
 
contract Coin {
    // The keyword "public" makes those variables
    // easily readable from outside.
    address public minter;
    mapping (address => uint) public balances;
 
    // Events allow light clients to react to
    // changes efficiently.
    event Sent(address from, address to, uint amount);
 
    // This is the constructor whose code is
    // run only when the contract is created.
    // 合约的构造函数,创建合约的时候合约创建者即为铸币人
    constructor() public {
        minter = msg.sender;
    }
    
    //铸币,只有合约创建人才能铸币
    function mint(address receiver, uint amount) public {
        require(msg.sender == minter);
        require(amount < 1e60);
        balances[receiver] += amount;
    }
     
    //发送代币
    function send(address receiver, uint amount) public {
        require(amount <= balances[msg.sender], "Insufficient balance.");
        balances[msg.sender] -= amount;
        balances[receiver] += amount;
        emit Sent(msg.sender, receiver, amount);
    }
}

合约测试步骤(待补充)

  1. 编译
  2. 部署
  3. 测试

四、Remix上使用Web3.js库实现合约交互

  1. 安装LearnEth插件
    在这里插入图片描述

  2. 进入LearnEth模块中选择Basic use of web3.js模块,这时候会有两个指导教程并分别带写有web3库方法的js脚本文件供测试:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    至此就可以实现合约调用和Web3库的使用,这里需要记住的是:

  • 在remix中运行js脚本的命令是:remix.execute(),此命令将执行当前JavaScript文件。而脚本文件存放的位置在这里:

在这里插入图片描述

  • web3库的调用内容放在async…里面,不需要再使用const Web3 = require('web3')语句导入web3.js
    (async () => {
        try {
            //web3.js内容
})
        
        } catch (e) {
            console.log(e.message)
        }  

    })()

点击全文阅读


本文链接:http://m.zhangshiyu.com/post/40991.html

合约  部署  代币  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 重生在高考前,我笑着送竹马和小太妹去庆祝成人礼(方子期孟知婉)_重生在高考前,我笑着送竹马和小太妹去庆祝成人礼(方子期孟知婉)
  • 知道自己是替身后,我选择自毁了独家首发_林昕巴掌宝藏文_小说后续在线阅读_无删减免费完结_
  • 我的娘子是大凶之物张一恒张一恒小说无删减阅读清爽版(张一恒)外篇+续集
  • 夫君停妻另娶挚友遗孀后,我杀疯了高分神作_贺朝小柔灵堂免费赏析_小说后续在线阅读_无删减免费完结_
  • 林冉顾承渊小说(许你万里晴空)+前传(林冉顾承渊)阅读
  • 京婚娇宠:是小尼姑也是嫡公主续集(姜以安周瑾臣)全本完整免费版_起点章节+后续(京婚娇宠:是小尼姑也是嫡公主)
  • 阮娇娇后续(纵她!禁欲小叔失控诱吻娇娇)(阮娇娇)整本畅享在线+无广告结局
  • 完结文流光错系断蓬之舟番外+完结列表_完结文流光错系断蓬之舟番外+完结(沈煜谢晚烟)
  • 重生1980:开局迎娶姐姐闺蜜小说(李毅唐雪)小说结尾+隐藏篇章(重生1980:开局迎娶姐姐闺蜜)畅享阅读
  • 全文一笑长明唯记相约前文+后续(江月肖楚宁)列表_全文一笑长明唯记相约前文+后续
  • 全文高考查分后,哥哥在我身上订满两百颗钉续集(沈眠月沈砚秋沈清欢)列表_全文高考查分后,哥哥在我身上订满两百颗钉续集
  • 西风暮雪埋初心人气节选许梨疏霍子枭完本_西风暮雪埋初心人气节选(许梨疏霍子枭)

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1