
区块链
bjzhaoxiao
这个作者很懒,什么都没留下…
展开
-
EOS交易验证流程
The process to verify a transaction is twofold.1. 从交易中的签名恢复出来交易的公钥。First, the public keys associated with the accounts that signed the transaction are recovered from the set of signatures provided...原创 2020-02-17 17:39:32 · 858 阅读 · 0 评论 -
EOS的几个关键概念和概念之间的关系。
Transaction 和Action的关系。Transaction 和签名的对应关系。Action和 authorization, permission的对应关系原创 2020-02-14 16:04:21 · 414 阅读 · 0 评论 -
公有链的8个本质挑战
转自:http://www.sohu.com/a/224799669_9994584601可拓展性的限制毫无疑问区块链技术有巨大的潜力。在2017年里,人们高昂的热情为ICO募集了数百亿资金,大大提升了加密货币市场的规模。然而,另一面却没有得到足够重视:区块链存在一些技术壁垒(technical barriers),这导致难以有效地将它应用到主流人群里。这些技术壁垒包括...转载 2019-07-05 14:40:03 · 462 阅读 · 0 评论 -
以太坊实战-再谈nonce使用陷阱
转自: https://www.choupangxia.com/topic/detail/47在《以太坊实战之如何正确处理nonce》一文中我们介绍了nonce的基本概念和使用方法。也提到了它能够覆盖之前交易的特异功能。但是那只是nonce的冰山一角。今天再给大家分享在热点账户下nonce会出现的问题。热点账户所谓的热点账户就是频繁被使用的账户,在以太坊中比如交易所的统一出币账户,在短...转载 2018-11-21 19:46:42 · 320 阅读 · 0 评论 -
以太坊客户端Geth命令用法-参数详解
Geth在以太坊智能合约开发中最常用的工具(必备开发工具),一个多用途的命令行工具。熟悉Geth可以让我们有更好的效率,大家可收藏起来作为Geth命令用法手册。 本文主要是对geth help的翻译,基于最新的geth 1.7.3-stable版本。如果你还不知道geth是什么,请先阅读入门篇:以太坊是什么。以下开始正文。命令用法geth [选项] 命令 [命令选项] [参数…]...转载 2018-08-17 10:57:01 · 360 阅读 · 0 评论 -
以太坊Truffle框架搭建
Truffle框架搭建的教程网上也有好多,但是随着truffle版本的更新,truffle.js改名truffle-config.js、truffle命令升级、truffle与testrpc端口不一致、浏览器钱包插件等问题,导致原有的教程不再适用,在踩过一个又一个的坑后,打算写一篇无坑版本,让广大初学者可以一气呵成搭建完环境。一、安装Node.js在https://nodejs.org/e...转载 2018-08-16 16:03:31 · 883 阅读 · 0 评论 -
p2p内部实现
运行p2p服务func (srv *Server) run(dialstate dialer) {// 准备临时变量 // 根据svr.TrustedNodes,在trusted中标记为信任 // 定义 删除任务、开始任务、安排任务 函数变量 for无限循环 {// 执行 安排任务select 条件判断::如果收到退出消息 {// 跳出for无限循环...转载 2018-07-27 17:44:02 · 909 阅读 · 0 评论 -
how to build bitcoin
cd ~/bitcoin/docbuild-unix.md原创 2018-07-31 15:36:56 · 285 阅读 · 0 评论 -
消息调用和合约创建合约
消息调用合约可以通过消息调用的方式来调用其它合约或者发送以太币到非合约账户。消息调用和交易非常类似,它们都有一个源,一个目标,数据负载,以太币,gas 和返回数据。事实上每个交易都可以被认为是一个顶层消息调用,这个消息调用会依次产生更多的消息调用。一个合约可以决定剩余 gas 的分配。比如内部消息调用时使用多少 gas,或者期望保留多少 gas。如果在内部消息调用时发生了 out-of-...原创 2018-07-25 14:38:38 · 1051 阅读 · 0 评论 -
存储,主存和栈
存储每个账户有一块持久化内存区域被称为存储。其形式为 key-value,key 和 value 的长度均为 256 比特。在合约里,不能遍历账户的存储。相对于另外两种,存储的读操作相对来说开销较大,修改存储更甚。 一个合约只能对它自己的存储进行读写。主存第二个内存区被称为主存。合约执行每次消息调用时,都有一块新的,被清除过的主存。主存可以以字节粒度寻址,但是读写粒度...原创 2018-07-25 14:28:36 · 339 阅读 · 0 评论 -
人类账号和合约账号
1. 人类账号:公私钥创建2. 合约账号:a. 人类账号创建合约时得到的。合约账号=compute(人类账号地址,该地址上的交易数量)b. 合约账号存储了代码,外部账号没有。...原创 2018-07-25 14:18:39 · 622 阅读 · 0 评论 -
以太坊状态转换流程分析
以太坊的本质就是一个基于交易的状态机,从创世状态开始,每次执行block的交易后,状态被修改成最新的的最终状态,在任何时刻这个最终状态都代表着以太坊当前的最新状态。状态转换示意如下图:image状态数据实际上也是保存在block上的状态树中的。 创世状态里面记录了创世文件初始化的账户数据及其他状态数据,每次生成一个block,执行其中的交易,修改状态数据,并以增量修改的方式记录在...转载 2018-07-25 14:00:01 · 1727 阅读 · 0 评论