以太坊
wilson_go
这个作者很懒,什么都没留下…
展开
-
以太坊solidity高级合约语言
solidity是一个语法类似与JavaScript的、面向智能合约的高级语言,编译后的二进制在evm中运行。solidity是一个静态类型语言,支持继承、库访问、复杂的用户定义类型等特性。solidity高级合约语言目前在以太坊的合约中使用最为广泛,本书将讲述该语言的基础构成。 图灵完备的智能合约的强大之处在于,用于可以使用高级编程语言实现自定义的公有链上资产,并进行链上资产相关的业务操作。以...原创 2018-09-05 21:07:25 · 734 阅读 · 0 评论 -
真实网络Ropsten
https://infura.io/register 在网站上进行注册 注册邮箱为2383198441@qq.com使用npm i ganache-cli -g原创 2018-11-21 17:15:08 · 1037 阅读 · 0 评论 -
ropsten网络配置成功
creation of Lottery pending…https://ropsten.etherscan.io/tx/0xc4b3ac496593e3cf588b70cdba43359ea18dd6f4eec3f6bbc113c0845a518392[block:4489386 txIndex:20]from:0xa9c…b64a1to:Lottery.(constructor)value:...原创 2018-11-24 08:52:31 · 2512 阅读 · 0 评论 -
solidity向合约内部转账
pragma solidity ^0.4.24;contract Foo01{ address public owner; uint256 public a; address public caller; constructor() public payable{ owner=msg.sender; } ...原创 2018-11-18 09:58:33 · 4716 阅读 · 0 评论 -
solidity使用异常处理
pragma solidity ^0.4.24;contract Foo02{ mapping(address=>uint256) public personToMoney; constructor() public payable{ // if(msg.value>100){ // revert();...原创 2018-11-18 10:13:24 · 671 阅读 · 0 评论 -
以太坊和solidity习题
以太坊问:以太坊的有价通证叫什么?答:以太(ETH:Ether)问:Wei和以太有什么区别?答:Wei是一个面额,像美分到美元或便士到磅。 1 ETH =10^18 Wei问:以太坊的平均出块时间是多少?答:大约14秒问:以太坊的平均块大小是多少?答:大约2KB,实际值取决于具体情况。问:以太坊是否支持脚本? 如果是这样,支持什么类型的脚本?答:是的。 它支持智能合约问:你如...原创 2018-11-23 15:35:23 · 1601 阅读 · 0 评论 -
智能合约部署一般步骤
一般来说,部署智能合约的步骤为:启动一个以太坊节点 (例如geth或者testrpc)。使用solc编译智能合约。 => 获得二进制代码。将编译好的合约部署到网络。(这一步会消耗以太币,还需要使用你的节点的默认地址或者指定地址来给合约签名。) => 获得合约的区块链地址和ABI(合约接口的JSON表示,包括变量,事件和可以调用的方法)。(译注:作者在这里把ABI与合约接口弄混了。...原创 2018-11-23 15:41:26 · 2926 阅读 · 0 评论 -
通过web3与合约实例solidity交互注意事项
通过web3与合约实例solidity交互,通过call方法进行调用,如果合约中有msg.sender,需要指定from!如果是send方法,注意指定转账金额。原创 2018-11-26 23:16:52 · 966 阅读 · 0 评论 -
solidity返回值太多,栈溢出
solidity返回值最多只能返回11个,太多的话会导致栈溢出原创 2018-11-30 16:27:22 · 1142 阅读 · 0 评论 -
web3.js
web3.js是开发以太坊去中心化应用(DApp)必备的JavaScript库,提供了用于与geth通讯的JavaScript API,web3.js使用了JSON-RPC协议与geth进行通信。JSON-RPC是一个无状态,轻量级的远程调用协议(RPC),允许使用http,socket等协议进行通讯,使用JSON作为数据格式。Web3.js可以与所有支持JSON-RPC的节点进行通信,包括以...原创 2018-11-27 23:16:57 · 442 阅读 · 0 评论 -
web3中eth转账函数
sendTransaction和send都可以转账,sendTransaction是专门用来转账的,无需合约,eth直接能调用,send必须有合约的方法sendTransaction 比send多一个回调函数。原创 2018-11-27 23:22:11 · 1856 阅读 · 0 评论 -
以太坊商品竞标
pragma solidity ^0.4.24;contract EcommerceStore {struct Product { // uint id; string name; string category; string imageLink; string descLink; uint startPrice; uint ...原创 2018-11-27 23:46:53 · 339 阅读 · 0 评论 -
webpack在windows64位环境下使用
node.js v10.14.1的安装包 https://download.csdn.net/download/qq_30505673/10820282webpack文件夹 https://download.csdn.net/download/qq_30505673/10820300在webpack中对truffle框架进行整合,从而进行以太坊dapp开发。...原创 2018-11-30 21:28:38 · 437 阅读 · 0 评论 -
ipfs跨域请求
request.js:138 POST http://localhost:5001/api/v0/add?stream-channels=true 403 (Forbidden)./node_modules/ipfs-api/node_modules/stream-http/lib/request.js.ClientRequest._onFinish @ request.js:138(anon...原创 2018-11-28 17:11:00 · 1798 阅读 · 2 评论 -
solidity无法返回结构体
由于solidity无法返回结构体,因此采用返回tuple元组的解决方案。原创 2018-11-16 17:05:17 · 3132 阅读 · 0 评论 -
区块链彩票
indx.js原创 2018-11-21 11:56:29 · 1142 阅读 · 0 评论 -
Web3.js以太坊eth的api基本介绍
为了让你的Ðapp运行上以太坊,一种选择是使用web3.js library提供的web3。对象。底层实现上,它通过RPC 调用与本地节点通信。web3.js可以与任何暴露了RPC接口的以太坊节点连接。web3中有eth对象 - web3.eth 具体来表示与以太坊区块链之间的交互。shh对象 - web3.shh表示Whisper协议的相关交互。后续我们会继续介绍其它一些web3协议中的对象。...原创 2018-11-20 21:58:32 · 2540 阅读 · 0 评论 -
以太坊不适用场景
以太坊作为公有链,可以在全球范围内的任何联网节点间形成公式,账本为所有节点共享访问。可以将以太坊理解为一个全球恭喜那个的开放权账本,任何人任何时候可以访问任何账户地址发生的一笔交易,任何人也可以查看任何合约地址上的合约内容,只要是需要共识的业务就可以。侦探故事因为全球范围内采用工作量证明作为共识算法抵抗恶意节点,为了激励网络不断出块,也为了抵抗恶意51%攻击和Dos攻击,设计了在以太坊上同队的以太...原创 2018-09-05 21:48:29 · 548 阅读 · 0 评论 -
以太坊pow工作量证明源码解析
共识引擎描述在CPU挖矿部分,CpuAgent的mine函数,执行挖矿操作的时候调用了self.engine.Seal函数。这里的engine是就是共识引擎。Seal为其中很重要的一个接口。它实现了nonce值的寻找和hash的计算。并且该函数是保证共识并且不能伪造的一个重要的函数。再PoW共识算法中,Seal函数实现了工作证明。该部分源码在consensus/ethhash下。共识引擎接口...原创 2018-10-25 22:14:57 · 2384 阅读 · 0 评论 -
以太坊pos介绍
Proof-of-stake(POS)是加密货币的区块链网络达到分布式共识的一种算法。在基于Pos的加密货币中,下一个区块的创建者是通过组合随机选择,财富值,或者是年龄等条件选择出来的。相反的是,基于Pow的加密货币(比如比特币)是通过破解hash谜题来决定区块的创建者。多种区块选择机制Proof-of-stake 必须有一种方法来定义区块链中的下一个有效的区块。如果仅仅基于账户余额会导致中心...原创 2018-10-25 22:18:02 · 5282 阅读 · 0 评论 -
solidity的投票示例代码
remix官网 pragma solidity ^0.4.0; contract Ballot { struct Voter { uint weight; bool voted; uint8 vote; address delegate; } ...原创 2018-10-27 22:12:33 · 654 阅读 · 0 评论 -
truffle安装介绍
1、首先需要安装nodejs先下载源码tar包:https://nodejs.org/en/download/,打开网址点击source code。然后将下载好的tar包导入虚拟机中,然后解压,然后将解压好的文件放到/usr/local目录下(这一步很关键一定要放入这个目录下),然后进入解压好的文件输入命令:2、安装node./configuremakemake install3、查...原创 2018-10-27 22:21:50 · 1711 阅读 · 0 评论 -
Solidity 常用方法总结
block中的方法block.blockhash(uint blockNumber) returns (bytes32):给定块的散列 - 仅适用于256个最近的块block.coinbase (address):当前块矿工的地址block.difficulty (uint):当前块难度block.gaslimit (uint):当前块gaslimitblock.number (uint...原创 2018-11-15 22:50:51 · 1947 阅读 · 0 评论 -
solidity环境安装
1能够打开remixremix在线编辑器/编译器,这是编写solidity语言的编辑器旧版新版2安装metamask官网:https://metamask.io/chrome插件下载链接3安装gethgo语言实现的以太坊客户端,是目前最流行的以太坊客户端,我们后面会用它创建私有链下载链接:https://ethfans.org/wikis/Ethereum-Geth-Mirror...原创 2018-11-18 19:15:22 · 1926 阅读 · 0 评论 -
solidity阶段性总结
solidity中最好不要使用var,使用let,const进行代替原创 2018-11-18 20:21:09 · 881 阅读 · 0 评论 -
ganache进行私有网络测试工具
使用ganache进行私有网络测试原创 2018-11-18 22:26:28 · 1464 阅读 · 0 评论 -
实现ERC20的币
--------------具体代码还在实现中…原创 2018-11-18 23:21:59 · 822 阅读 · 0 评论