以太坊

区块链培训资料(特别是以太坊)

倾然丶 夕夏残阳落幕 提交于 2019-12-01 16:12:51
一个适合区块链新手的以太坊DApp开发教程: http://xc.hubwiz.com/course/5a952991adb3847553d205d1 一个用区块链、星际文件系统(IPFS)、Node.js和MongoDB来构建电商平台: http://xc.hubwiz.com/course/5abbb7acc02e6b6a59171dd6 收集整理了一些免费区块链、以太坊技术开发相关的文件,有需要的可以下载,文件链接: web3.js API官方文档中文版: https://pan.baidu.com/s/1hOV9hEzi7hFxJCL4LTvC6g 以太坊官方文档中文版 : https://pan.baidu.com/s/1ktODJKLMBmkOsi8MPrpIJA 以太坊白皮书中文版 : https://pan.baidu.com/s/1bzAFnzJ35hlQxJ2J4Oj-Ow Solidity的官方文档中文版 : https://pan.baidu.com/s/18yp9XjEqAHpiFm2ZSCygHw Truffle的官方文档中文版 : https://pan.baidu.com/s/1y6SVd7lSLUHK21YF5FzIUQ C#区块链编程指南 : https://pan.baidu.com/s/1sJPLqp1eQqkG7jmxqwn3EA

微服务架构实战160讲

限于喜欢 提交于 2019-11-30 23:49:22
深入浅出区块链 其它学习课程目录: 从0开始学微服务 面试官绝杀:系统是如何支撑高并发的? 分布式技术原理与算法解析 消息队列高手课 从0开始学架构 技术管理实战36讲 微服务架构实战160讲 这一系列文章将围绕以太坊的二层扩容框架,介绍其基本运行原理,具体操作细节,安全性讨论以及未来研究方向等。本篇文章作为开篇,主要目的是理解 Plasma 框架。 Plasma 作为以太坊的二层扩容框架,自从 2017 年被 Joseph Poon(Lightning Network 创始人)和 Vitalik Buterin (Ethereum 创始人)提出以来[1],一直是区块链从业人员关注的焦点[2]。首先需要明确的是,Plasma 实质上是一套框架,而不是一个单独的项目,它为各种不同的项目实际项目提供链下(off-chain)解决方案。这也是为什么很多人对 Plasma 感到疑惑的一个重要原因,因为在缺乏实际应用场景的情况下很难将 Plasma 解释清楚。 因此,理解 Plasma 是一套框架是理解 Plasma 的关键。 从区块链扩容谈起 在介绍 Plasma 之前,不得不先介绍区块链扩容。我们都知道,比特币(Bitcoin)和以太坊(Ethereum)作为目前最广泛使用的区块链平台,面临的最大问题就是可扩展性(Scalability)。这里需要注意的是

以太坊智能合约升级策略

吃可爱长大的小学妹 提交于 2019-11-30 18:32:54
本文是对以太坊中可升级智能合约领域的各种实现策略的总结 ,目的是汇总迄今为止的相关资源, 以帮助我们在设计智能合约时,考虑如何对其进行升级和更新。 100%可升级机制 目前有两种主要策略用来实现可升级的智能合约: 使用代理合约 将逻辑和数据分离成不同的合约。 这两种方法要解决的根本问题是如何更新合同的逻辑,同时仍然保留对合同状态的访问。 代理合约 代理合约使用 delegatecall 操作码将函数调用转发到可更新的目标合约。 由于delegatecall 保留了函数调用的状态,因此可以更新目标合约的逻辑,并且状态将保留在代理合约中以供 更新后的目标合约的逻辑使用。 与delegatecall一样,msg.sender将保持代理合约的调用者身份。 由于最近的拜占庭硬分叉,现在可以获取函数调用的返回大小了,因此与 Nick Johnson 首次提出的方法相比,目前这种方法可以通用。 在 Daonomic 的文章中可以 看到一个通用代理合约的例子,你可以更详细地了解这个机制。 分离逻辑和数据合约 这中方法到将智能合约拆分两个合约: 包含数据(变量,结构,映射等)以及getter/setter的数据合约 包含如何更新这些数据的业务逻辑的逻辑合约 逻辑合约通过setter更新数据,而数据合约只允许逻辑合约调用setter。 这允许在保持数据不变 的同时更换实现逻辑,从而实现完全可升级的系统

区块链以太坊各种学习资料官方文档白皮书汇总

有些话、适合烂在心里 提交于 2019-11-30 11:01:49
区块链技术和以太坊开发学习的资料如以太坊白皮书,官方文档;web3.js,Solidity,Truffle,geth中文文档;以太坊,IPFS开发环境搭建,私有链搭建,开发部署等资源汇总整理如下: 1. 适合区块链新手的以太坊DApp开发实战入门 2. 区块链,星际文件系统IPFS,Nodejs和MongoDB构建以太坊DApp电商平台 收集了一些免费区块链、以太坊技术开发相关的文件,有需要的可以下载,文件链接: web3.js API官方文档中文版: https://pan.baidu.com/s/1hOV9hEzi7hFxJCL4LTvC6g 以太坊官方文档中文版 : https://pan.baidu.com/s/1ktODJKLMBmkOsi8MPrpIJA 以太坊白皮书中文版 : https://pan.baidu.com/s/1bzAFnzJ35hlQxJ2J4Oj-Ow Solidity的官方文档中文版 : https://pan.baidu.com/s/18yp9XjEqAHpiFm2ZSCygHw Truffle的官方文档中文版 : https://pan.baidu.com/s/1y6SVd7lSLUHK21YF5FzIUQ C#区块链编程指南 : https://pan.baidu.com/s/1sJPLqp1eQqkG7jmxqwn3EA 区块链技术指南:

Java调用以太坊智能合约

蓝咒 提交于 2019-11-30 04:04:52
Web3j让Java开发者可以轻松地访问以太坊区块链并调用区块链上的智能合约的方法,在本教程中,我们将学习如何创建一个简单的命令行应用来访问区块链上的合约。 1、什么是web3j Web3j是一个开发包,你可以利用这个开发包快速实现对以太坊/Quorum节点的访问,同时也可以用它为某个智能合约文件生成对应的java封装类,以便在Java应用中调用。 系统学习web3j开发,推荐汇智网的在线互动教程: 《Web3j以太坊开发详解》 2、节点安装与智能合约部署 首先我们需要搭建一个以太坊网络并部署智能合约,你可以参考这个 repo ,按照README说明搭建并部署智能合约。 要调用以太坊链上的合约,我们需要两个东西: 钱包私钥 合约地址 在区块链领域,账号通常称为钱包,不过这是一个比较混乱的词语,有时钱包指的是单一地址,有时又指的是包含多个地址的容器。在本文中,一个钱包指的是单一的以太坊地址, ganache在启动时会列出10个钱包地址以及其对应的私钥。例如: (0) 11af9e9f87c53beedfe7eb3f1e9b6e2592b382ab3ecd83a92a6c20cb0c885f63 (1) 7cb8f9f70eac9aca70b514a9a8ebd36a3c2c4a9d28dc9534d6042914ed814161 (…) 在这个教程中,我们将使用0#地址,即:

数字货币交易行为的可视化分析

こ雲淡風輕ζ 提交于 2019-11-30 02:36:23
理解中心化数字货币交易平台上的交易行为需要对它的几种钱包地址进行分析,本文采用可视化的方法来展示不同类型钱包地址之前的交易模式。 在数字货币交易平台上主要有四种类型的钱包地址: 热钱包地址:热钱包是外部和交易所之间的主要交互点。交易平台使用这种 钱包来保证数字资产的交易。 冷钱包地址:交易平台使用冷钱包作为数字加密资产的安全存储。这种 类型的钱包通常会持有大量不需要频繁交易的资产 充值/入金地址:通常是临时性的链上地址,用于将数字资产转入交易平台以便 进行交易。 提现/出金地址:通常是临时性的链上地址,用于将数字资产转出交易所 钱包。有时提现地址和充值地址可以用一个。 这四个组件构成了中心化交易平台的链上架构的核心, 要识别出一个地址属于哪一种需要复杂的假设或机器学习方法。部分挑战在于这些地址间的交互模式可以非常复杂并且还没有被很好的理解。我们利用机器学习分类器的帮助,通过可视化手段来探索区块链数据集,发现了一些迷人的模式。 1、充值地址 -> 交易所主钱包 数字货币交易平台的一个主要模式就是将资产从入金地址转入交易所主钱包。下面的可视化图形清晰地展示了这种运作模式,其中蓝圈表示充值地址,绿圈表示住钱包地址。值得注意的是,这一资金归集操作通常会将许多入金地址打包到单一交易中转入主钱包: 这一模式可以在更大规模观察到: 2、交易所主钱包 -> 提现地址

以太坊解析:默克尔树、世界状态、交易及其他

依然范特西╮ 提交于 2019-11-29 21:46:37
默克尔树 以太坊的主要数据对象之前,我想先向各位简要介绍一下默尔克树到底是什么,以使得它得以发挥作用的属性特征 假设由定制的默克尔-帕特里夏树维护世界状态和交易。 在默克尔树中, 由叶子节点保存区块数据的哈希,而由非叶子节点保存其子节点的哈希。 -默克尔树示意图(包括节点以及他们之间的关系) 默克尔树所 指向数据的任何改动都会引起节点哈希的变化。 由于每一个父节点中所保存的哈希值都取决于子节点所包含的数据,所以子节点中数据的变更都会引起父节点哈希的变化。并且这样的影响是连锁反应,从叶子节点直达根节点的。因此对叶子节点所指向数据的改动会引起根节点所保存哈希的变化。由上述结构特征,我们可以引申出两条重要的属性: 在判断两棵默克尔树所指向数据是否完全相同时,我们不需要比较每个叶子节点,而只需比较根节点所保存的哈希。 在判断特定数据是否被树所指向时,我们可以使用 默克尔证明 技术。此处不对该技术作过多介绍,只需知道这是证明数据存在于默克尔树中的一种简单、高效的方法。 第一种属性的重要之处在于,我们能够仅利用根节点的哈希值,就标示某一时刻整棵树所指向的数据。这意味着仅通过保存根节点的哈希值就能标示区块(无需储存区块链中所有的数据),且维护数据的不可篡改。 至此我们理清了默克尔树中根节点哈希的作用,下面来介绍以太坊中的主要对象。 世界状态 世界状态是地址(账户)到账户状态的映射

一个比特币交易流程是如何完成的

社会主义新天地 提交于 2019-11-29 18:53:03
本文解释了比特币交易的内容,目的和结果。下面的解释适用于新手和中级比特币用户。 作为加密货币用户,你需要熟悉交易雏形——为了你对这种不断发展的创新有信心,以及作为理解新兴多签名交易和合约的基础,这两者都将在本系列的后期进行探讨。这不是纯技术文章,解释将集中在你需要了解的标准比特币交易——我们通常做的支出交易——并且我们将掩盖你可以安全忽略的内容。 本文底部的信息图提供了从钱包到区块链的整个比特币交易流程的全面说明。 注意:即使是核心开发人员也承认,用于描述交易及其组件的某些语言可能导致人们误解了实际发生的事情。在下面的解释中避免了这些误解。因此,在尝试尽可能简单的描述的同时,借助一些图表,让我们直接开始。 术语和缩写的定义 Bitcoin:具有大写 B 的比特币指的是协议——代码,节点,网络及其对等交互。 bitcoin:用小写字母 b 表示货币——我们通过比特币网络发送和接收的加密货币。 tx:在文本中使用的任何地方——是比特币交易 ‘Bitcoin transaction 的缩写。 txid:是 transaction id 的缩写——这是人和协议引用交易的哈希。 Script:是比特币协议的脚本系统的名称,用于处理和验证交易——脚本是一个聪明的,基于堆栈的指令引擎,它使得从简单支付到复杂的oracle监督合约的所有交易成为可能。 UTXO: Unspent

EOS和以太坊那个区块链平台更好?

亡梦爱人 提交于 2019-11-28 18:27:56
显然,你已经听说过两个最受欢迎的智能合约区块链,但想知道EOS与以太坊之中哪个更好?或许你想比较一下两种技术?好吧,你来对了地方,因为我要告诉你你需要知道的一切! 在这个EOS vs Ethereum指南中,我将首先解释每个项目的基础知识,然后概述每个区块链的执行情况。这将包括交易时间,交易费用和可扩展性等内容。 之后,我将简要介绍如何在没有第三方的情况下验证交易。这将包括以太坊使用的工作量证明(Proof of Work)与EOS使用的股份授权证明(Delegated Proof of Stake)之间的比较。 最后,我将就我认为每个区块链的未来发展方向给出我自己的看法。因此,在阅读我的以太坊和EOS指南结束时,你将能够确定最佳选择是什么! 还在等什么?让我们首先找出每个区块链的基础知识! 基础 什么是以太坊? 以太坊于2015年由一位年轻的加拿大——俄罗斯程序员Vitalik Buterin推出。它是一个区块链平台,允许人们发送和接收资金,而无需第三方,如银行。 以太坊项目成为第一个安装称为 智能合约 技术的区块链协议,允许陌生人在无信任环境中签订协议。该技术基于预先定义的条件,一旦满足这些条件,智能合约可以在没有中间人帮助的情况下自动释放资金。 为了让你了解它有多大潜力,请查看以下示例: 詹姆斯拥有一个农场。如果不下雨超过7天,他决定要购买保险。 詹姆斯没有使用第三方保险公司

2019年以太坊能涨到多少

会有一股神秘感。 提交于 2019-11-28 08:01:25
昨天比特币在9700美元附近止跌反弹,价格最高涨至10218.2美元后慢慢回落。今日凌晨,虽然走势上行再度突破10200美元,但也让多头动能耗尽,进入到回调阶段,走势继续向10000美元形成压迫。目前比特币的价格10091美元。 自从比特币价格突然暴涨,让很多人都大赚了一笔之后,虚拟币市场就开始变得热闹起来,现在已经有很多的新兴货币逐渐崛起,那么在2019年除了比特币之外,还有哪些货币是值得投资者关注的呢? 以太币(ETH)是以太坊(Ethereum)的一种数字代币,被视为“比特币2.0版”,采用与比特币不同的区块链技术“以太坊”(Ethereum),开发者们需要支付以太币(ETH)来支撑应用的运行。和其他数字货币一样,可以在 领域王国 进行买卖。 莱特币有个有趣的称号——辣条,具体原因不得而知。莱特币出现后很多人认为莱特币的算法比比特币要优秀,更夸口其将会取代比特币成为虚拟货币的领头羊。对此,小编不做评价,但莱特币的火爆程度可见一斑。 瑞波币是Ripple网络的基础货币,和比特币一样都是基于数学和密码学的数字货币,但是与比特币没有真正的用途不同,XRP在Ripple系统中有主要桥梁货币和有保障安全的功能,其中保障安全的功能是不可或缺的,这要求参与这个协议的网关都必须持有少量XRP。 凯特币(KateCoin)简称KTC,是一种虚拟的可以全球通用的P2P形式的数字货币