摘要:
参考地址:Ethereum Homestead 什么是智能合约 智能合约是代码和数据的集合,寄存与Blockchain的具体的地址。智能合约更想是在Blockchain中的一个自动化的代理(或者说是机器人or NPC),智能合约有自己的账户,在时间或事件的驱动下能自动执行一些功能,如可以在相互之间传 阅读全文
摘要:
在编译安装solidity的过程中遇见了一个很奇怪的问题 好像是说编译的过程中把警告当做错误来处理。然后变量“returned”定义了但没使用,所以造成一个警告,被当成错误处理。 不过查看编译选项好像没有“-Werror=unused-variable”这个选项,没办法只好去webthree-umb 阅读全文
摘要:
定义 “函数式编程”是一种编程范式(programming paradigm),即如何编写程序的方法论。主要思想是把运算过程尽量写成一系列嵌套的函数调用。 举例来说,现在有这样一个数学表达式: (1 + 2) * 3 - 4 传统的过程式编程,可能这样写: var a = 1 + 2; var b 阅读全文
摘要:
对《Java虚拟机并发编程》这本书真的是相见恨晚。以前对并发编程只是懂个皮毛,这本书让我对并发编程有了一个全新的认识。所以把书上的知识点做下笔记,以便以后复习使用。 并发与并行 仔细说来,并发和并行是两个不同的概念。但随着多核处理器的普及,并发程序的不同的线程往往会被编译器分配到不同处理器核心上,所 阅读全文
摘要:
什么是Clojure Clojure是一种动态的、强类型的、寄居在JVM上的语言。 Clojure的特性: 函数式编程基础,包括一套性能可以和典型可变数据结构媲美的持久性数据结构 由JVM提供的成熟的、高效的运行时环境:所以Clojure可以使用Java类库,反之Clojure库也可以被Java使用 阅读全文
摘要:
1. 安装系统依赖 2. Clone项目 3. 安装pyethapp 进入pyethapp,安装 PS. 可能遇到的问题 1. cffi版本问题 --问题描述: 如果用pip安装可能只安装到cffi1.1.2,而安装pyethapp需要cffi版本大于1.3.0 --解决办法: 只需升级cffi就可 阅读全文
摘要:
在抽取以太坊Java版本的Trie树部分时,遇到了一个问题: 参考fusessource的leveldb的README才解决这个问题 只需要把leveldbjni-win64-1.8.jar导入工程即可(应为在win64下运行的) 设置项目maven依赖: 我用的Gradle管理项目,在项目buil 阅读全文
摘要:
1. 介绍 Merkle Patricia Tree(简称MPT树,实际上是一种trie前缀树)是以太坊中的一种加密认证的数据结构,可以用来存储所有的(key,value)对。以太坊区块的头部包括一个区块头,一个交易的列表和一个uncle区块的列表。在区块头部包括了交易的hash树根,用来校验交易的 阅读全文
摘要:
Ethereum,中文翻译是“以太坊”,是一个公有区块链的开源项目。因为以太坊是基于P2P网络所以没有中心节点,所以用户仅安装Ethereum客户端即可连入Ethereum公共网络或者在自己的testnet下运行Ethereum。 以太坊客户端有很多语言的版本。 本文选用的是C++版本。配置过程如下 阅读全文
摘要:
/*最近在看Ethereum,其中一个重要的概念是Merkle Tree,以前从来没有听说过,所以查了些资料,学习了Merkle Tree的知识,因为接触时间不长,对Merkle Tree的理解也不是很深入,如果有不对的地方,希望各位大神指正*/ Merkle Tree概念 Merkle Tree, 阅读全文