自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 以太坊开发:用mocha做测试

1. 安装mocha:npm install mocha –save-dev2. 编写求和函数的脚本sum.js:(这次的全部操作仍然在上一篇博客所创建的目录下进行。)jiahuan@ubuntu:~/project/contract_workflow$ vi sum.jssum.js的内容:module.exports = function(...rest){ var sum = 0; for(let i of rest){

2021-02-22 11:38:14 230

原创 以太坊开发:部署脚本

1. 在项目中安装web3和ganache-cli:jiahuan@ubuntu:~/project/contract_workflow$ npm install web3 ganache-cli注意:此时的web3版本为1.0版本。2. 在一个新终端中启动ganache:jiahuan@ubuntu:~/project/contract_workflow$ node_modules/.bin/ganache-cliGanache CLI v6.12.2 (ganache-core: 2.13.2

2021-02-21 22:56:06 261

原创 以太坊开发:编译脚本

1. 创建项目相关的目录:jiahuan@ubuntu:~$ cd project/jiahuan@ubuntu:~/project$ mkdir contract_workflowjiahuan@ubuntu:~/project$ lscontract_workflow myDevChain simple_vote_dapp_02 web3_testmyChain simple_vote_dapp testVotejiahuan@ubuntu:~/pr

2021-02-21 20:48:56 198

原创 以太坊开发:Dapp示例-简单投票(二)

投票项目智能合约内容:Voting.solpragma solidity ^0.4.22;contract Voting { mapping (bytes32 => uint8) public votesReceived; bytes32[] public candidateList; constructor(bytes32[] candidateNames) public { candidateList = candidateNames; }

2021-02-19 11:17:01 152

原创 以太坊开发:Dapp示例-简单投票(一)

1.创建简单投票项目目录并引入包管理工具:jiahuan@ubuntu:~$ cd projectjiahuan@ubuntu:~/project$ lsmyChain myDevChain web3_testjiahuan@ubuntu:~/project$ mkdir simple_vote_dappjiahuan@ubuntu:~/project$ cd simple_vote_dapp/jiahuan@ubuntu:~/project/simple_vote_dapp$ lsjia

2021-02-19 10:29:22 279

原创 以太坊开发:web3js(四)用web3js编写以太坊脚本

1. 基本方式转账:转以太币var Web3 = require('web3');var web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"));var arguments = process.argv.splice(2);if(!arguments || arguments.length != 2) { console.log("Parameter error!"); r

2021-02-18 18:24:05 2637

原创 以太坊开发:web3js(三)过滤器、创建合约

filter 过滤器停掉一个filter的监听: filter.stopWatching()创建一个合约:调用合约函数:监听合约事件:

2021-02-18 18:13:23 385 1

原创 以太坊开发:web3(二)创建智能合约的ABI接口

首先,实现:以太坊开发web3(一)参考: https://blog.csdn.net/weixin_42769202/article/details/113835024输入相关命令: jiahuan@ubuntu:~/project$ cd web3_testjiahuan@ubuntu:~/project/web3_test$ npm list web3web3_test@1.0.0 /home/jiahuan/project/web3_test└── web3@0.2..

2021-02-17 19:57:20 1206

原创 以太坊开发:web3js(一)创建web3目录

创建web3_test目录:jiahuan@ubuntu:~$ cd projectjiahuan@ubuntu:~/project$ lsmyChain myDevChainjiahuan@ubuntu:~/project$ mkdir web3_testjiahuan@ubuntu:~/project$ cd web3_testjiahuan@ubuntu:~/project/web3_test$ lsjiahuan@ubuntu:~/project/web3_test$ npm .

2021-02-17 18:42:13 610 4

原创 ubantu开发以太坊:geth控制台操作

初始化创世区块geth --datadir (指定的目录 .表示当前目录) init genesis.json启动私链geth --datadir 制定的目录 --networkid 15这里的networkid是JSON文件里的chainid,这样就创建了一条私链如果要进行交互,可以进入控制台,在启动命令后加上 consolegeth --datadir data --networkid 15 console如果想让数据在日志踪显示,可以再加上2>output.log2&g..

2021-02-17 16:02:13 377

原创 区块链以太坊中函数总结

private :不能被继承、不能够再外部被调用、可以在内部被调用;internal :可以在内部被调用,不饿能够再外部被调用,可以被继承;external :不能够在内部被调用,只能够在外部被调用,可以被继承,如果强行被调用,可以通过:“地址.”的方式,比如:this.public :权限最大,可以在外部内部调用,可以被继承;pure :不会读取全局变量,更不会修改全局变量。一个固定的输入就会有一个固定的输出,不消耗gas;constant :在函数中,和view相同,在全局变量中,中用于by.

2020-11-17 16:21:22 461

原创 区块链以太坊中constant标识符

函数内部的constant关键字在4.0版本中和view这样的关键字是等价的,在5.0版本中将会废弃掉constant关键字;全局变量、constant属性、局部变量是没有这个属性的;全局变量加上了constant属性,就不能被修改;当前的版本支持int,uint,string,bytes1~bytes32能够使用constant。...

2020-11-17 09:52:20 322

原创 区块链以太坊solidity中函数重载

区块链以太坊solidity中函数的书写规范:

2020-11-16 21:34:31 137

原创 区块链以太坊中的mapping映射--哈希表

下图为mapping映射实例的代码展示:上图中映射关系为:1.一个地址对应一个账户id值;2.一个账户对应一个姓名。改进版:包括映射的复制以及查询:

2020-11-16 21:19:09 873 1

原创 以太坊中的全局属性

(1)以太坊中的全局属性:(2)全局属性的调用方法:

2020-11-16 20:27:07 209

原创 区块链solidity学习(地址、交易篇:一)

(1)下图为remix中有关地址交易的代码展示:只要与交易相关的function函数,则需要加上 payable 标识,否则会导致不能进行交易;外部两个不同的账户进行转账时,使用 transfer 标识,例如:account.transfer(msg.value),其中value为所要转的以太币金额数目。(2)下图为给合约进行转账时的代码截图:1.在对合约进行转账时,需要使用this来表示合约的地址;2.合约进行转账还需要加入一个回滚函数,该回滚函数的函数名为空,同时需要加上payabl

2020-11-16 20:14:49 462

原创 二分法例题:聪明的质检员(运用了前缀和思想)

小 T 是一名质量监督员,最近负责检验一批矿产的质量。这批矿产共有 n 个矿石,从 1到 n 逐一编号,每个矿石都有自己的重量 wi 以及价值 vi。检验矿产的流程是:1、给定 m 个区间[Li,Ri];2、选出一个参数 W;3、对于一个区间[Li,Ri],计算矿石在这个区间上的检验值 Yi :这批矿产的检验结果 Y 为各个区间的检验值之和。即:若这批矿产的检验结果与所给标准值 S...

2020-04-07 00:43:55 433

原创 二分查找数组元素的递归方法和非递归方法:

二分查找是一种在有序数组中查找某一特定元素的查找算法。查找过程从数组的中间元素开始:如果中间元素正好是要查找的元素,则查找过程结束;如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较。如果在某一步骤数组为空,则代表找不到。特点:「连续」「单调」「确切答案」解通常是唯一的,或者不存在。法一:(递归方法的二分查找:)#in...

2020-04-06 23:03:06 508

原创 二分法求函数零点:(递归方法和非递归方法)

高中数学必修一上给的定义是:对于在区间????,????上连续不断且 ????????????????<????的函数 ????=????????,通过不断地把函数????????零点所在区间一分为二,使区间的两个端点逐步逼近零点,进而得到零点近似值的方法,叫做二分法 ( 。「连续」「变号」「近似值」同时,只能求出一组解。法一:递归形式的二分法求解函数零点:#include <iostream>using namespace std...

2020-04-06 22:38:11 2406

原创 1.递归实践:小白上楼梯

代码:#include <iostream>using namespace std; int f(int n){ if(n==0)return 1; if(n==1)return 1; if(n==2)return 2; return f(n-1)+f(n-2)+f(n-3);}int main(int argc, char** argv) { int n,q;...

2020-04-05 23:51:47 132

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除