区块链
文章平均质量分 57
宣之于口
^-^
展开
-
【区块链】以太坊 web3j for java 配置和使用 <1>
以太坊 web3j for java 配置和使用 <1>官网:here环境: mac & android studio一、 导入包在app/build.gradle中:compile 'org.web3j:core:3.0.1-android'即: dependencies { compile fileTree(include: ...原创 2017-11-25 12:12:22 · 13804 阅读 · 2 评论 -
【区块链】利用Node.js开发与合约交互的Web界面
利用Node.js开发与合约交互的Web界面参考地址:here and here零、在私有链上部署合约// 本文中用到的MetaCoin合约pragma solidity ^0.4.2;contract MetaCoin { mapping (address => uint) balances; event Transfer(address index...原创 2018-03-11 16:10:37 · 8464 阅读 · 2 评论 -
【区块链】记录合约开发中遇到的坑
记录合约开发中遇到的坑一、 交易没有被广播问题:合约在在线编译器remix上能够正常读写数据,在本地私有链上却失败数据写不进去,也没有任何错误提示。例如:> bikeshared.userRentStart.sendTransaction("0x34ecdbb13d4e58d5c7aa749feaf5c0f660a3d896",1, {from:user1})===...原创 2018-03-29 17:19:57 · 3604 阅读 · 2 评论 -
【区块链】智能合约字符串拼接
智能合约字符串拼接string是数组,solidity不支持动态扩容,只能写个for循环一个个加,此处采用的做法是转成bytesfunction stringAdd(string a, string b) returns(string){ bytes memory _a = bytes(a); bytes memory _b = bytes(b); bytes ...原创 2018-07-13 14:33:36 · 1498 阅读 · 2 评论 -
【区块链】分布式共识协议
分布式共识协议一、概述总结:私有链:封闭生态的存储系统,采用PAXOS、RAFT最佳联盟链:半公开半开放特性,采用拜占庭容错的PBFT算法比较合适公有链:POW、POS、DPOS是比较适合的高安全性的协议二、开放式POW工作量证明,通过竞争记账的方式解决去中心化的记账系统的一致性问题, 即以每个节点的计算能力即“算力”来竞争记账权的机制。1. 区块头如下图所示,区块...原创 2019-01-09 20:45:39 · 6998 阅读 · 0 评论 -
【区块链】搭建基于ethereum以太坊环境的私有链 - mac
搭建基于ethereum以太坊环境的私有链安装geth在之前的博客有提到,所以本篇默认已经安装成功geth -h //能成功显示输出帮助,则表示已经成功安装一、创世块现在通过配置创世块来创建私有链。同一个网络中,创世块必须是一样的,否则无法联通。创建一个private的根目录,新建创世块json文件genesis.json, 并把该文件放置于peivate目录下。内容如下:ps: 其中详细内容原创 2017-09-15 10:45:29 · 9344 阅读 · 0 评论 -
【区块链】以太坊 web3j for java 使用 - 部署和调用合约 <3>
web3j 部署合约环境:mac os &amp; android studio官网:here以太坊 web3j for java 配置和使用&lt;1&gt;: here以太坊 web3j for java 使用 - 为用户创建凭证credentials &lt;2&gt;:here一、编译合约solc &lt;contract&gt;.sol --bin --abi --optimize -o原创 2017-11-29 17:53:30 · 24383 阅读 · 12 评论 -
【区块链】go ethereum 安装与使用 - mac
go ethereum 安装与使用 - mac1. 安装· home-brew 安装: here· go ethereum 客户端安装:here2. 使用查看当前账户列表geth account list打开终端,执行以下命令,以开发方式启动gethgeth --datadir “~/ethdev” --dev 指定 –dev 为开发环境geth 启动成功后,重新打开一个终端,执行以下命令,打原创 2017-09-14 11:12:09 · 5842 阅读 · 0 评论 -
【区块链】TestRPC Runtime Error: out of gas
TestRPC Runtime Error: out of gas转载 2017-09-23 13:14:47 · 1823 阅读 · 0 评论 -
【区块链】以太坊源码学习 -- EVM
以太坊源码学习 – EVM学习文档链接:here一、虚拟机外主要功能:执行前将Transaction类型转化成Message,创建虚拟机(EVM)对象,计算一些Gas消耗,以及执行交易完毕后创建收据(Receipt)对象并返回1.1 入口 和 返回值文件:/core/state_processor.go --- Process()for i, tx := range block.Transact转载 2017-09-24 18:31:29 · 9858 阅读 · 0 评论 -
【区块链】geth配置中,genesis.json的几个问题
geth配置中,genesis.json的几个问题通过geth来配置以太坊私有链,是学习以太坊的入门步骤。而其中,如何配置genesis.json,又是最关键的一步。如果在其中产生错误,有些会导致无法初期化私有链,有些却会导致在以后的学习过程中发生各种莫名其妙的错误。但是,现在网上能找到的配置内容,很多只适用于v1.4之前的版本,甚至连geth自身在github上的genesis.json,其中的c转载 2017-09-16 11:04:24 · 2944 阅读 · 0 评论 -
【智能合约】Solidity - 编程实例
Solidity - 编程实例1. 投票接下来的合约非常复杂,但展示了很多Solidity的特性。它实现了一个投票合约。当然,电子选举的主要问题是如何赋予投票权给准确的人,并防止操纵。我们不能解决所有的问题,但至少我们会展示如何委托投票可以同时做到投票统计是自动和完全透明。思路是为每张选票创建一个合约,每个投票选项提供一个短名称。合约创建者作为会长将会给每个投票参与人各自的地址投票权。地址后面的人们转载 2017-09-17 15:08:16 · 1514 阅读 · 0 评论 -
【区块链】Truffle 部署和测试
Truffle 部署和测试本文主要参考:here 和 here,因为参考的这篇文章版本有些旧了,所以是根据比较新的版本写的。一、合约部署1、 首先初始化环境truffle init2、开启testrpctestrpc //另开窗口3、部署合约a. 编写合约代码,保存到contracts/YourContractName.sol文件例如:Conference.solpragma solidity原创 2017-09-18 16:10:11 · 2957 阅读 · 0 评论 -
【区块链】Truffle合约交互 - WEB端对以太坊数据的读写
Truffle合约交互 - WEB端写入数据到以太坊1. 初始化truffletruffle init webpack可以参考:here2. 写一个合约这里给出一个简单的合约。pragma solidity ^0.4.2;contract Credit { event createRecord(bytes32 indexed identity, uint indexed category);原创 2017-09-20 15:23:07 · 6006 阅读 · 6 评论 -
【区块链】EVM反编译软件Porosity的使用-mac
EVM反编译软件Porosity的使用-mac首先给出 porosity 的 GitHub 地址: here本文也是根据这个网址进行学习。1. 创建和约可以使用自己写的合约,也可以在etherscan 上面找一些合约, 给出例子如下://vulnerable.sol pragma solidity ^0.4.4;contract SendBalance { mapping ( address原创 2017-10-02 20:44:22 · 2931 阅读 · 1 评论 -
Xcode 引 boost 库 - 利用homebrew
Xcode 引 boost 库a. 安装homebrewb. 下载boostbrew install boostc. 查看安装路径brew --cached. 进入到homebrew目录可以看到一个boost的压缩包,解压并进入boost_1_65_0文件夹例如我的目录:/Users/pro/Library/Caches/Homebrewe. 执行boostrap.shf. 上一步执行成功后原创 2017-10-04 22:07:11 · 1442 阅读 · 1 评论 -
【区块链】Truffle 安装和使用
Truffle开发入门一、安装truffle 和 testrpcnpm install -g trufflepip install eth-testrpc安装过程中,会遇到很多问题,例如版本太旧。可以参考:here二、使用1. 新建mkdir hello //新建文件夹cd hello //进入该文件夹truffle init //默认会生成一个MetaCoin的demo原创 2017-09-14 19:38:04 · 6269 阅读 · 1 评论 -
【区块链】Android通过Geth RPC接口实现接入以太坊私有链
Android通过Geth RPC接口实现接入以太坊私有链环境:mac os & android studio一、启动私有链搭建方法见 here启动并设定RPC端口:geth --identity "linoy" --rpc --rpcport "8080" --rpccorsdomain "*" --datadir "./" --port "30303" --nodiscover --rpcapi原创 2017-11-12 21:56:42 · 8540 阅读 · 12 评论 -
【区块链】以太坊 web3j for java 使用 - 为用户创建凭证credentials <2>
为用户创建凭证credentials <2>环境:mac os & android studio参考:here一、初始工作查看上一篇文章:here二、创建credentialsString filePath = Environment.getExternalStorageDirectory().toString() + "/Picture...原创 2017-11-28 02:34:05 · 10891 阅读 · 3 评论