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

这篇具有很好参考价值的文章主要介绍了四:调用部署在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
    四:调用部署在ganache的智能合约四:调用部署在ganache的智能合约

  2. 安装VS Code拓展包Solidity + Hardhat
    四:调用部署在ganache的智能合约

  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}`);
    

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

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

    启动ganache:ganache-cli

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

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

    输入node deploy.js运行deploy.js,
    四:调用部署在ganache的智能合约

  3. 查看结果
    四:调用部署在ganache的智能合约

相关官方知识库

  1. ether.js

下一章内容:

用Mocha编写solidity的测试

欢迎讨论学习⊙﹏⊙

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

我不会对文章设置VIP等限制,有喜欢的朋友可以打赏,打赏也是博主勤更的动力,谢谢你~~文章来源地址https://www.toymoban.com/news/detail-406756.html

到了这里,关于四:调用部署在ganache的智能合约的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java SDK部署和调用FISCO BCOS区块链智能合约

    使用WeBASE合约管理导出Java项目 启动FISCO节点和webase-front,部署服务详情可参考官方文档: link 1.编写智能合约 一个简单的例子: Table 合约:该合约负责维护候选人的信息。每个候选人都有一个唯一的标识符sign_key,以及与之相关联的其他属性,包括活动名称activity_name、参与

    2024年03月22日
    浏览(56)
  • Web3.js在以太坊上部署和调用智能合约

    介绍如何使用Web3.js在以太坊上部署和调用智能合约;Web3.js是以太坊JavaScript API的实现,它可以与以太坊区块链进行交互 智能合约编写 使用Solidity编写一个简单的智能合约,然后使用Web3.js将其部署到以太坊区块链,通过JavaScript调用该智能合约 这个智能合约非常简单。它有两

    2024年02月16日
    浏览(47)
  • 手把手部署区块链智能合约及python的web3接口调用

    说句实话,在做区块链、智能合约、搭私链、pythonWeb3接口调用这些东西的时候,心里崩溃了不止四五十回,如果可以选别的方向,博主劝你赶紧换,人生已经很不容易了,别给自己找罪受。。。。。 创世块是什么请自行搜索,网络上很多示例的创世块博主都试过,在实际使

    2024年02月04日
    浏览(49)
  • 以太坊Dapp通过web3js部署调用智能合约

    参考视频:https://www.bilibili.com/video/BV14z4y1Z7Jd?p=1 https://remix.ethereum.org/ 创建一个新的文件夹 mkdir MyDapp2 启动 ganache-cli 下载web3 npm install web3 ,注:ganache的启动和deploy.js要在同一个目录。 先进行测试 node deploy.js 部署合约 web3的版本:1.7.1 复制 WEB3DEPLOY 的内容到deploy.js == ganache需要

    2023年04月23日
    浏览(47)
  • java使用web3j,部署智能合约在测试链上,并调用(万字详细教程)

    最近在学区块链相关,想做点自己感兴趣的。网上关于这块部分的坑也比较多,最近也是问了很多行业从事者才慢慢填坑,因此记录下来分享一下。 钱包 :metemask、 solidity编译器 :remix 、 java ide :idea。 智能合约编写的我选择在remix上方便,而且部署的时候不需要自定义gasP

    2024年01月16日
    浏览(58)
  • 智能合约:从 Python 调用智能合约

    以太坊带来了智能合约的进步,其是可公开验证的代码。如果我们改变合约状态,我们将花费一些gas。现在,让我们创建一个Python程序,它可以在以太坊上调用智能合约。因为我们不想实验中支付费用,所以我们将运行Ganache,这是一个本地以太坊实例。 首先,我们去Remix.e

    2024年01月19日
    浏览(64)
  • 智能合约中如何调用其他智能合约

    智能合约是区块链技术中的一项关键功能,它可以让开发者编写代码来自动执行一系列的操作,从而实现各种复杂的业务逻辑。在许多应用场景中,一个智能合约可能需要调用另一个智能合约来完成某些任务。本文将介绍智能合约如何调用其他智能合约,并提供一些实例来帮

    2024年02月11日
    浏览(43)
  • Java智能合约工具包|Java调用智能合约|Java调用ERC20、ERC721、ERC1155合约

    Magician-ContractsTools是一个用于调用智能合约的工具包,你可以非常容易地在Java程序中调用智能合约进行查询和写入操作。 有三个内置的标准合约模板,分别是ERC20、ERC721和ERC1155,如果你需要调用这三个合约中的标准函数,可以帮助你非常快速地完成工作。除了内置的合同模板

    2024年02月11日
    浏览(55)
  • 如何在智能合约中调用另一个合约的函数

    智能合约是在区块链中被执行的一段程序,因为它们在区块链上执行,所以不依赖于任何的中心化服务器。目前最主流的智能合约编程语言是 Solidity。 在以太坊区块链中,智能合约可以和其他已经部署的智能合约进行交互。除了以太坊,其他 EVM 兼容的区块链(使用以太坊虚

    2024年01月22日
    浏览(55)
  • golang调用智能合约,获取合约函数的返回值

    如果不是只读取数据的合约函数,需要异步的执行,因此并不能直接获取到合约函数的返回值,需要等到交易执行完毕,得到确认后才能获取到合约函数的返回值。而且合约函数返回值一般是通过事件日志获取到的。 这里给出一个例子来展示我是如何获取合约函数返回值的。

    2024年03月11日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包