熟悉一门语言得从Hello World! 开始,因为这是最简单的一个输出形式。
我们先在contracts目录下建立一个helloworld.sol文件
进入编辑

// SPDX-License-Identifier: MIT
pragma solidity >=0.4.22 <0.9.0;contract helloworld {uint public balance;/********** Begin **********/
// 函数名:sayHelloWorldfunction sayHelloWorld() public pure returns (string memory){return ("Hello World!");}
/********** End **********/
}

保存退出
在migrations下新建一个部署合约的js文件:3_initial_migration.js
名字可以变动


//const Migrations = artifacts.require("Migrations");var helloworld = artifacts.require("helloworld");    //这里是你要部署的合约module.exports = function (deployer) {deployer.deploy(helloworld);
};

接下来在test中使用js调用智能合约

var helloworld=artifacts.require("helloworld")
contract('helloworld',function(accounts){it("first",function(){return helloworld.deployed().then(function(instance){console.log(instance.address)   //输出合约地址instance.sayHelloWorld().then(function(result) {console.log(result);        //输出hello world})})})/*这里理论上不需要,但是我这不再输出一行无法显示前一行,有解决方案可以评论区留言*/it("sencode",function(){return helloworld.deployed().then(function(instance){console.log(instance.address)})})
})

在另一个窗口打开ganache

ganache-cli

运行智能合约并调用

truffle compile
truffle migrate
truffle test ./test/helloworld.js

就可以在控制台看到运行结果了

【区块链】以太坊Solidity编写一个简单的Hello World合约相关推荐

  1. 带你玩转区块链--以太坊基础、发币、基于智能合约实现彩票项目-第二章-第一节【以太坊篇】

    意义: 在上一节知识学习中,我们已经了解如何实现一个基础区块链,并重构了BTC关键代码.对比传统的中心化项目,区块链项目拥有很多优势,如:追溯性.不可传篡改性.在中心化项目中的网络协议是:[数据层-- ...

  2. 8支团队正在努力构建下一代区块链以太坊Ethereum 2.0

    2019独角兽企业重金招聘Python工程师标准>>> "我们不想在构建 Ethereum 2.0时重新造轮子." 谈到开发人员为 Ethereum 区块链进行两 ...

  3. 可编程区块链以太坊的未来

    区块链的火热就不用说了,回看一下Vinay Gupta 2015年发表的文章<内容可编程的区块链:以太坊的未来>,感受一下先行者的思想. 到本文结束时,你将了解一般的区块链(特别是下一代区 ...

  4. 回看2015年是如何描述区块链以太坊的未来

    区块链的火热就不用说了,回看一下Vinay Gupta 2015年发表的文章<内容可编程的区块链:以太坊的未来>,感受一下先行者的思想. 到本文结束时,你将了解一般的区块链(特别是下一代区 ...

  5. 回望Vinay2015年的文章:内容可编程的区块链——以太坊的未来

    2019独角兽企业重金招聘Python工程师标准>>> 区块链的火热就不用说了,回看一下Vinay Gupta 2015年发表的文章<内容可编程的区块链:以太坊的未来>, ...

  6. 上下文可编程区块链——以太坊的未来

    区块链的火热就不用说了,回看一下Vinay Gupta 2015年发表的文章<内容可编程的区块链:以太坊的未来>,感受一下先行者的思想. 到本文结束时,你将了解一般的区块链(特别是下一代区 ...

  7. 区块链-以太坊学习资料汇总

    最近一段时间以来,对区块链的底层研究和基于区块链的应用开发已经越来越火热了.机缘巧合,目前我也在进行区块链方面的开发,在之后的博客中,我会和大家一起分享区块链开发中的酸甜苦辣.今天我先来对收藏区块链- ...

  8. 【区块链-以太坊】5 Ubuntu下truffle ganache安装及使用

    [区块链-以太坊]5 Ubuntu下truffle & ganache安装及使用 1 truffle安装 1)输入sudo npm install -g truffle 2)将truffle复 ...

  9. 区块链 -- 以太坊的36个概念

    2019独角兽企业重金招聘Python工程师标准>>> 1.以太币(Ether)产生规则和比特币有哪些区别? 1. 出块时间. 比特币出块时间是平均10分钟,而以太坊约是15秒. 2 ...

最新文章

  1. vscode教程笔记
  2. qtablewidget设置单元格背景色_这3个关于单元格格式的Excel小技巧,实在太好用了!...
  3. VScode中html怎么引入js,vscode中如何使用typescript,如何自动编译成js文件
  4. 降低http请求次数
  5. Linux手动分区步骤
  6. ACK正式支持对基于Alibaba Cloud Linux操作系统的集群进行等保加固
  7. 如何运用领域驱动设计 - 聚合
  8. d3 i5 神舟精盾k480n_6款神舟精盾轻薄记本发布,10nm十代酷睿,匠心打造国潮好本...
  9. IO对象流(序列化和反序列化)
  10. python获取Linux信息
  11. c++ multiple definition of 问题解决方法
  12. python learning notes(柒)
  13. 数据分析报告入门(3)
  14. 纵观 Excel 演化史,开发者如何通过“表格技术”提升企业生产力
  15. PySpark RDD操作
  16. Criteria条件查询
  17. 小程序性能优化之页面预加载方案——让你的小程序运行如飞 进阶篇
  18. 室内定位技术(三)——自有定位技术
  19. Gitlab CI/CD中的yml遇到的错误分析含解决方法(全)
  20. 前端核武器:开源FrontendBlocks所见即所得低代码编辑器让所有人都能做前端布局

热门文章

  1. ajax 异步刷新表格
  2. Qt之QTextEdit
  3. 嵌入式(三十一):DACADC
  4. excel批注不显示批注框_批注和批注处理器入门指南[解释]
  5. CSS 取消input输入框聚焦时的边框(borderoutline)
  6. 《C++ Primer Plus》学习笔记-string类和标准模板库
  7. bootstrap模态框 模态框手动关闭
  8. http://www.hi-donet.com/网站
  9. 聊一聊什么是SaaS,以及遇到的问题......
  10. 初级测试工程师要求(零基础必备)