![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
区块链
x-2010
这个作者很懒,什么都没留下…
展开
-
智能合约编译器Remix IDE
Error: The method eth_getCompilers does not exist/is not available at web3.js:3143:20 at web3.js:6347:15 at web3.js:5081:36 at <anonymous>:1:1========》废弃eth_compile函数族动机:eth_compile*...原创 2018-04-27 09:51:50 · 3679 阅读 · 4 评论 -
本地Remix与私链节点相连
1.本地geth启动钱包节点(用于MetaMask相连)和remix-ide(给本地合约编辑器提供服务)2.这里使用Google的扩展程序钱包程序MetaMask来辅助验证合约3.安装完成后,右上角会出现一个小狐狸图标,进入创建一个账户。切换到Localhost 8545,此时显示私网Private Network点击账户管理头像,导入账户Import Account选择JSON File,选择文...原创 2018-04-27 18:26:13 · 2509 阅读 · 1 评论 -
Solidity-简单的智能合约及其概念
源码:pragma solidity ^0.4.0;contract SimpleStorage { uint storedData; // 声明一个类型为uint的状态变量,uint=256位无符号整数 function set(uint x) public { storedData = x; } function get() public co...原创 2018-04-28 10:34:23 · 1033 阅读 · 0 评论 -
以太坊虚拟机EVM
概述:以太坊虚拟机EVM是智能合约的运行环境,它不仅是沙盒封装的,而且是完全隔离的,也就是说在EVM中运行代码是无法访问网络,文件系统和其他进程的。甚至智能合约之间的访问也是受限的。账户:以太坊中有两类账户,它们共用一个地址空间:外部账户由公钥-私钥对控制,也就是由人控制;合约账户由与账户一起存储的代码控制。外部账户地址由公钥决定,而合约账户地址是在创建合约时确定,该地址通过合约创建者的地址和从该...原创 2018-04-28 14:01:08 · 3886 阅读 · 0 评论 -
./autogen.sh编译报错
./autogen.sh报错信息:./autogen.sh: 9: ./autogen.sh: autoreconf: not found原因:没有安装autoreconf解决:sudo apt-get install dh-autoreconf原创 2018-06-20 19:16:51 · 3030 阅读 · 0 评论 -
configure报错
报错信息:configure: error: libdb_cxx headers missing原因:没有安装库libdb++-dev解决:sudo apt-get install libdb++-dev原创 2018-06-20 19:21:32 · 1946 阅读 · 0 评论 -
JSON RPC API
JSON格式用于进行轻量级数据的交互,它可描述数字,字符串,有序的数以及键值对集合。JSON-RPC是一种无状态,轻量级的远程过程调用协议(RPC)。该规范主要定义与处理过程相关的数据结构和规则,它是与传输方式无关的,可在Socket,HTTP或在各种消息传送环境内使用。它只是将JSON(RFC 4627)作为数据格式。Geth 1.4有实验性的pub/sub支持,参看此页获取更多信息。Parit...原创 2018-06-26 19:58:11 · 12018 阅读 · 0 评论 -
Web3 JavaScript app API for 0.2x.x
注意:这里是对web3.js 0.2x.x版本的,若使用1.0版本,则参阅网址。要使得app在以太坊上工作,可使用web3.js库的web3对象,在其下是通过RPC调用与本地节点通信。web3.js与任意以太坊节点通信,它向外暴露一个RPC层。web3包含eth对象 - web3.eth(用于以太坊区块链交互)和shh对象 - web3.shh(用于Whisper交互),今后还将为web3协议引入...原创 2018-06-28 17:11:18 · 503 阅读 · 0 评论 -
HYPERLEDGER FABRIC V1.1 笔记-概念原理
概念:fabric的智能合约也叫链码,链码分为系统链码和用户链码,系统链码实现系统层功能,用户链码实现用户层功能,链码最后会被编译为一个独立的程序,在独立的Docker容器中运行。与区块链2.0以太坊技术相比,hyperledger Fabric的3.0技术中实现链码和账本分离,也就是逻辑与数据分离,在更新链码时不再需要将账本数据迁移到新链码中。 1.transaction:一次chaincode...原创 2018-04-27 09:40:30 · 712 阅读 · 0 评论 -
HYPERLEDGER FABRIC V1.1 笔记-环境搭建以及源码编译实操
环境:OS:Ubuntu 16.04.4 LTS xenial (lsb_release -a)Docker: 18.03.0-ce (docker version)Docker-compose: 1.20.1 (docker-compose version)go: 1.10.1 (go version) ==》超级账本要求安装1.9.x及以上版本node: v9.6.0 (node -v) =...原创 2018-04-26 09:22:58 · 2842 阅读 · 0 评论 -
解析genesis.py
创世区块参数生成脚本genesis.py:1.获取命令行输入的参数options = get_args() -t 时间 默认为当前系统时间 -z 一个字符串 默认为The Times 03/Jan/2009 Chancellor on brink of second bailout for banks -n nonce值 默认为0 -a hash加密算法 默认为SHA256 -p 有效...原创 2018-03-22 08:54:53 · 1611 阅读 · 0 评论 -
TOKEN 溢出攻击
背景Beauty Chain 美蜜代码里有bug,已经有人利用该bug获得了 57,896,044,618,658,100,000,000,000,000,000,000,000,000,000,000,000,000,000,000.792003956564819968 个 BEC那笔操作记录是0xad89ff16fd1ebe3a0a7cf4ed282302c06626c1af33221ebe0...原创 2018-04-26 09:13:04 · 1955 阅读 · 1 评论 -
The DAO攻击历史
本文发布于2016年6月25日:作者David Siegel,可以让人对区块链系统更深的认识。基础知识:以太坊网络是一个运行以太坊区块链的计算机网络。区块链允许交换一定数量的token,也就是所谓的以太币。现在是仅次于比特币的加密货币。以太坊还允许编写和部署智能合约,它只是在网络计算机上执行的普通代码(当前超过6000台电脑),可以向它们发送以太币来执行这些合约。DAO是一个分散自治的组织(Dec...原创 2018-04-26 09:14:17 · 1067 阅读 · 0 评论 -
SOLIDITY关键字EMIT
引入emit背景:ERC20 token标准介绍了一种Transfer事件以及一个transfer()方法。它们的调用语法不完全相同:transfer(address to, uint value);Transfer(address from, address to, uint256 _value);但是这种相似足够引起混淆。对未来的Solidity程序员来说这是一个很严重的问题,必须避免意外地将...原创 2018-04-26 09:15:01 · 12348 阅读 · 3 评论 -
REMIX智能合约实例BALLOT分析
pragma solidity ^0.4.0;contract Ballot { //投票类struct Voter { //投票人uint weight; //权重bool voted; //该投票人是否投票,true表示已投票,false表示未投票uint8 vote; //给谁(提案索引号)投票address delegate; //委托的投票代表}struct Proposal { //提...原创 2018-04-26 09:15:51 · 1736 阅读 · 0 评论 -
REMIX与LOCALHOST相连
让Remix与本地文件系统进行交互,点击connect同时找到localhost下的Remix文件管理器的共享目录。在开始之前,参考网址:https://remix.readthedocs.io/en/latest/tutorial_remixd_filesystem.html 如何运行Remixd。大概如下:通过Remixd来访问Remix IDE内的共享目录:Remixd是一个npm模块,它的...原创 2018-04-26 09:17:27 · 2890 阅读 · 0 评论 -
HYPERLEDGER FABRIC V1.1 笔记-E2E_CLI实例
在./network_setup.sh up之后,用docker ps命令可看到:三个dev为链码容器一个cli是一个fabric-tools充当客户端的角色,它可用于执行创建channel,加入channel,安装和执行chaincode等操作。四个fabric-peer为节点一个order提供共识服务和生产区块以上这些容器组成了一个Fabric集群以上所启动的chaincode实例为examp...原创 2018-04-26 09:19:56 · 982 阅读 · 0 评论 -
guzzlehttp/guzzle:~6.0安装以及通过jsonrpc获取节点数据
Guzzle是一个PHP的HTTP客户端,可用来发送请求,并集成到WEB服务上,它有以下特点:1.接口简单:可构建查询语句,POST请求,分流上传下载大文件,使用HTTP cookies,上传JSON数据等。2.可使用相同的接口来发送同步或异步请求。3.可使用PSR-7接口来请求,响应,分流,允许使用其他兼容的PSR-7类库与Guzzle共同开发。4.抽象了底层的HTTP传输,允许改变环境以及其他...原创 2018-07-04 14:45:14 · 3364 阅读 · 0 评论