四:调用部署在ganache的智能合约

文章目录

  • 四:调用部署在ganache的智能合约
    • 实验目的
    • 实验原理
    • 开始条件
    • 实验过程
    • 实验步骤
    • 相关官方知识库
    • 下一章内容:

如果朋友有代码,工具,使用流程等不太清楚的,可用去专栏看看,专栏中有文章中所提及的具体使用方式。不太明白的朋友可以自己去看看~~ 瞬移专栏

实验目的

 用VS Code进行代码开发,良好的可视化界面有助于开发速度;通过在ganache中对智能合约进行调用,熟悉ether.js的使用。

实验原理

  • ether.js中提供了我们对智能合约进行调用的方法,使用ether.js能很方便我们和智能合约进行交互。
  • js代码的编写采用异步的方式,因为需要等待测试网中的结果返回,不然得到的会是未定义的结果。

开始条件

  • 安装好基于windows系统的子系统wsl。默认安装ubuntu20.04。
  • 安装好VS Code。
  • nodejs
  • ganache-cli
  • ether.js
  • VS code
  • ethers.js为以太坊区块链及其生态系统提供一个小而完整的 JavaScript API 库。方便开发者更好的与智能合约交互。
  • fs是js读取文件的一个组件,方便我们读取目录中的文件。

实验过程

  1. 安装VS Code拓展包Solidity + Hardhat,增强solidity代码可读性
  2. 编写ether.js代码,实现与智能合约交互

实验步骤

  1. ubuntu命令行中进入test目录,输入code . 进入VS Code

  2. 安装VS Code拓展包Solidity + Hardhat

  3. 打开上一章编写的deploy.js文件,在后面加入如下内容和合约交互

      console.log(`查看项目地址:${contract.address}`);// 设置最喜欢的数字await contract.store(9);// 查看最喜欢的数字const storeNumber = await contract.retrieve();console.log(`设置的商店最幸运的数字是: ${storeNumber}`);//增加一个人await contract.addPerson("Daf", 8);//查看添加的第一个人的最喜欢的数字const { favoriteNumber, name } = await contract.people(0);console.log(`${name}最喜欢的数字是:${favoriteNumber}`);
    

  1. 打开端口,快捷键: ctrl + `

    启动ganache:ganache-cli

    提醒:每一次启动ganache时,它的私钥都不一样,所以重新启动ganache后记得修改填入deploy.js中的私钥,不然代码执行不会通过。

  2. 打开另外一个端口。快捷键: ctrl + shift+`

    输入node deploy.js运行deploy.js,

  3. 查看结果

相关官方知识库

  1. ether.js

下一章内容:

用Mocha编写solidity的测试

欢迎讨论学习⊙﹏⊙

对文章满意的话欢迎点赞收藏,哈哈

我不会对文章设置VIP等限制,有喜欢的朋友可以打赏,打赏也是博主勤更的动力,谢谢你~~

四:调用部署在ganache的智能合约相关推荐

  1. ETH:Windows搭建ETH(区块链技术)利用Web端和小程序端两种方式调用ETH上的SC智能合约

    ETH:Windows搭建ETH(区块链技术)利用Web端和小程序端两种方式调用ETH上的SC智能合约 目录 1.Geth安装.配置文件.与ETH节点交互 1.1.下载并安装好geth客户端 1.2. ...

  2. 三:将智能合约部署到ganache测试网

    三:将智能合约部署到ganache测试网 文章目录 三:将智能合约部署到ganache测试网 实验目的 实验原理 开始条件 实验过程 实验步骤 相关官方知识库 下一章内容: 实验目的 掌握将智能合约部 ...

  3. android区块链 钱包_区块链研究实验室|从Android调用区块链智能合约

    本教程将展示如何直接从Android开发环境-Android Studio中调用智能合约. 环境要求 我们将使用Tezos区块链.为了使我们的Android java代码与现有的.部署的智能合约交互, ...

  4. 四十种 智能合约 支持平台

    目录 1. 以太坊( Ethereum ) 2. Quorum 3. Wanchain 4. æternity 5. Zen 6. Counterparty 7. Rootstock (RSK) 8. ...

  5. 区块链开发(二)部署和运行第一个以太坊智能合约

    区块链开发(二)部署并运行第一个以太坊智能合约 李赫2016年8月22日 本文首发8BTC 网络上不少部署智能合约的文章,但是都有一个共同的特点,就是采用命令行的方式来部署,先是建立SOLC的编译环境 ...

  6. 使用web3部署一个比较复杂的智能合约

    以太坊系列之二十一 使用web3部署比较复杂的智能合约 搭建私链上的雷电网络 以太坊系列之二十一 使用web3部署比较复杂的智能合约 1 雷电网络智能合约简单介绍 2 remix 无法部署使用了lib ...

  7. 区块链技术精华:四十种智能合约支持平台(四)

    摘要: 智能合约是以数字形式定义的承诺,控制数字资产并涵盖合约参与者约定的权利和义务.它由计算机系统自动执行.在基于区块链的智能合约中,数据管理.事务验证和状态处理都是在区块链上完成的,区块链提供完备 ...

  8. 如何开发并部署Solana智能合约

    如果你想学习如何开发Solana智能合约和项目,那么你来对地方了. Solana是一个新兴的.高性能的且无许可的公链,它提供了快速.经济且可扩展的交易体验,并且它还支持使用Rust,C++和C语言来编 ...

  9. Fabric 搭建测试网络并部署智能合约

    1.搭建网络: 详见博客 2.对Test Network的创建和关闭 cd ${HOME}/fabric-samples/test-network 创建网络: ./network.sh up关闭网络: ...

最新文章

  1. 关于手风琴效果延迟执行解决方式
  2. 寒哥细谈之AutoLayout全解
  3. java反射 获取局部变量_Java反射:如何获取变量的名称?
  4. Java并发编程实战~生产者-消费者模式
  5. 深入理解ARM体系架构(S3C6410)---arm7,arm9,arm11区别
  6. 详细解说Java 技术的新纪元
  7. EasyDarwin测试
  8. IOS日历控件JTCalendar
  9. 图像颜色与强度分离(intensity and color decouple)方法 matlab代码
  10. 使用80percent开发rails程序:gem的了解。(kaminari)
  11. doc创建php文件,PHP读取创建txt,doc,xls,pdf类型文件
  12. Laravel 根据数据库生成migration
  13. 考研一年到底需要花多少钱?这个你必须要知道!!!
  14. MWC就快到来!5G、物联网应用以及折迭手机为本次焦点
  15. 智能手机平台:TI,Intel,Moto
  16. 自控力读书笔记 第八章 传染:为什么意志力会传染?
  17. 数字证书在web应用中实现登陆
  18. CF1658F 题解
  19. 【CTF】LFI漏洞总结(PHP本地文件包含漏洞)
  20. 如何给Linux服务器安装瑞星,手把手教你制作瑞星Linux杀毒光盘

热门文章

  1. Task 3 异常处理
  2. 天梯赛L1难度总结 + 题目难易分类
  3. 关于屏幕截图和屏幕录制的软件
  4. Maven项目在eclipse中使用junit进行单元测试时报错:ClassNotFoundException
  5. 2021应届生DJI校招岗位-电机控制算法工程师的技术笔试——题型介绍与说明
  6. C#获取文件夹/文件的大小以及占用空间 转摘自:http://www.cnblogs.com/chenpeng-dota/articles/2176470.html...
  7. Spring moble 自定义Device接口
  8. shader入门精要第七章
  9. TensorFlow2简单入门-四维张量
  10. c语言的qsort快速排序函数