[返回] [最新] [最热门] [最高评价]

2018 Google Developer Days

【第一天】

Google Developer Days,谷歌开发者大会,0920~0921 两天。

第一次参加这类会议,第一天大部分 Talk 都是泛泛而谈,
干货不多。但是居然遇到了当时毕业去谷歌的学姐。
圈子真的好小,世界真的很巧。

然后下午晚饭时间有个 Google 游乐园还可以,超乎预期,
毕竟实在没想到居然这类技术会议,还能有这类环节,
居然还有服务员端着各种食品让大家免费吃,

...

yanyiwu 2018-09-21 00:00 | 查看: 228

美好世界,源自不开心。

Linus 对只停留在实验室阶段,迟迟走不进工业界的 Unix 操作系统忍无可忍,觉得非常不开心,于是自己写了 Linux ,成为服务端操作系统的世界主宰。

乔布斯对塞班手机下载一个日历应用都需要搜索各种论坛,才能找到一个可以安装成功的安装包,觉得非常不开心,于是开发了划时代产品iPhone ,把人类带入了移动互联网时代。

雷军对于华强北各种粗制滥造的山寨机忍无可忍,带着十几个兄弟,干了一
...

yanyiwu 2018-04-21 00:00 | 查看: 506

Asch源码core模块之delegates

背景

在上一篇文章 Asch源码core模块之accounts 中已经把 ./core 和 ./base 有映射(或者说冗余?)关系的三个模块阅读完。

./core/blocks.js Asch源码core模块之blocks <==> ./base/blocks.js [Asch源码base模块之block创建]

./core/transactions.js Asch源码cor
...

yanyiwu 2018-04-05 00:00 | 查看: 421

Asch源码core模块之accounts

背景

继续阅读以下映射关系中的 account:

./core/blocks.js Asch源码core模块之blocks <==> ./base/blocks.js Asch源码base模块之block创建

./core/transactions.js Asch源码core模块之transactions <==> ./base/transaction.js As
...

yanyiwu 2018-04-01 00:00 | 查看: 394

Asch源码core模块之transactions

背景

刚啃完 core/blocks.js ,接下来马上 core/transactions.js ,
略辛苦,毕竟这两个源码文件应该是 core/ 目录下代码量最多的两个源码文件了。

源码概况

event:

onBind

public:

Constructor

addUnconfirmedTransaction

getUnconfirmedTransactionList

rem
...

yanyiwu 2018-03-28 00:00 | 查看: 450

Asch源码core模块之blocks

背景

在上一篇文章 Asch源码core模块之loader启动 已经基本上把 Asch 服务启动过程梳理清楚了。

本文开始阅读 ./src/core/blocks.js ,
希望在此之前已经阅读过 Asch源码core模块之loader启动 。

源码概况

照旧先把主要功能函数框架罗列,如下:

event:

onReceiveBlock

onReceivePropose

onRece
...

yanyiwu 2018-03-20 00:00 | 查看: 441

Asch源码core模块之loader启动

背景

在 Asch源码阅读:启动过程概述 主要阅读了 src/init.js 的初始化过程,
但是在 init.js 初始化过程中最后环节就是通过 onBind 触发 src/core/loader.js

但是其实阅读 src/core/loader.js 的前提就是对 src/base 有所了解。因为里面大量的 library.base 开头的代码就是使用 src/base 目录里的模块代
...

yanyiwu 2018-03-17 00:00 | 查看: 429

Asch源码base模块之transaction

背景

在 Asch源码base模块之block创建 中,已经介绍了 block 创建核心流程,
包括 序列化,签名,验证,数据库存储,transaction 交易的核心流程和 block 如出一辙,
只不过交易是更泛化的概念,含义比较广,可以代表转账,投票等类型,所以代码量更多。

接下来继续介绍 base 目录的 Transaction 模块。

consensus.js

account.j
...

yanyiwu 2018-03-10 00:00 | 查看: 368

Asch源码base模块之block创建

背景

在 Asch源码base模块之Account 中,已经介绍了 Account 相关数据库增删改查。
接下来继续介绍 base 目录的 Block 模块。

consensus.js

account.js

block.js

transaction.js

概览

block 模块对外提供的就是一个 Block 类,
主要如下一些 api :

public 函数

Block Cons
...

yanyiwu 2018-03-04 00:00 | 查看: 351

Asch源码base模块之Account

背景

在 Asch源码base模块基础之共识 中,已经大概介绍了 base 模块,和详细介绍共识流程 (consensus.js)。
接下来继续介绍 base 目录的 Account 模块。

consensus.js

account.js

block.js

transaction.js

但是其实这个 Account 模块其实主要是封装的账号数据库信息的增删改查,
比较枯燥,大概浏览有个
...

yanyiwu 2018-03-03 00:00 | 查看: 337

Asch源码base模块基础之共识

在 Asch源码阅读:启动过程概述 中,我们提到 init.js 初始化中的一个步骤就是初始化 base 模块。
在这里稍微展开谈谈 base 模块具体是什么,base 模块代码对应的目录是 ./src/base/ ,在此目录下主要有以下几个模块:

consensus.js

account.js

block.js

transaction.js

base 也是核心源码目录,但是可能容易会把
...

yanyiwu 2018-02-08 00:00 | 查看: 444

Asch源码阅读:启动过程概述

以下源码阅读基于 asch@1.3.5 版本。

『入口模块: app.js』

主要有如下步骤

读取配置文件 config.json

读取创世区块的配置 genesisBlock.json

配置 dbFile 路径,默认路径为 blockchain.db

调用 src/init.js 模块开始初始化,传入 option 参数,主要包括 区块数据库路径,配合文件,创世区块等,这个初始化过程
...

yanyiwu 2018-02-05 00:00 | 查看: 525

...更多...