关闭

[以太坊源代码分析] VI. 基于p2p的底层通信(上篇)

以太坊中客户端之间的底层通信天然适用p2p通信协议,本篇主要介绍了以太坊中有关p2p通信核心模块ProtocolManager的一些主要流程逻辑,以及p2p通信协议族的一些架构设计。...
阅读(186) 评论(1)

[以太坊源代码分析] V. 从钱包到客户端

本文从以太坊中管理账户信息的代码包pkg accounts开始,详细介绍了以太坊内部如何管理账户和数字签名所用公钥密钥的机制;然后自底向上,介绍了客户端程序的核心模块eth.Ethereum,它提供完备的全节点功能。...
阅读(3247) 评论(1)

[以太坊源代码分析]III. 挖矿和共识算法的奥秘

作为本系列的第三篇,这篇文章介绍了以太坊中如何"挖矿"产生一个新区块的完整过程,以及Ethash(PoW)和Clique(PoA)两种不同共识算法的实现方案;同时对于各处代码实现中的精巧设计,也作了较详细的讲解。...
阅读(469) 评论(0)

[以太坊源代码分析] I.区块和交易,合约和虚拟机

打算写一个系列文章,基于源代码分析下以太坊(Ethereum)的基本架构,所用算法、协议等。这是第一篇,介绍了区块,交易等基本概念,并从执行交易的角度,简单介绍了交易同合约的设计,执行合约的完整流程,以太坊虚拟机的指令集设计,以及用到的数字签名算法等。...
阅读(1332) 评论(1)

[以太坊源代码分析] IV. 椭圆曲线密码学和以太坊中的椭圆曲线数字签名算法应用

本文从椭圆曲线加密学的基础-点倍积开始讲起,完整介绍了椭圆曲线数字签名算法的理论基础和实现算法,以及以太坊中是如何调用椭圆曲线数字签名算法进行数字签名操作的。...
阅读(337) 评论(0)

[Bluetooth]: android 平台上BLE连接流程之优化方案

文章提供了一种设计良好的蓝牙连接(重连)的流程逻辑,可以极大的提高Android平台上蓝牙设备的连接成功率。...
阅读(421) 评论(1)

[以太坊源代码分析] II. 数据的呈现和组织,缓存和更新

从代码实现和架构设计的角度,介绍了以太坊中Block/Header的结构体设计,BlockChain如何以链表的方式管理Block的,Ethereum独创的哈希查找树类型数据结构-Merkle-PatriciaTrie的来龙去脉,以及内部存储模块StateDB以及stateObject的运行方式等。...
阅读(457) 评论(0)

一款轻量级的项目管理工具Redmine

介绍了在Ubuntu系统如何安装一款轻量级项目管理软件Redmine...
阅读(879) 评论(1)

[oj.leetcode] 跟leecode的博客旧文说再见

在我目前的博客中,数量最多的就是leecode问题的解答。这些归在leetcode标签之下的文章,其中的绝大部分,基本就是简单一说思路,然后贴代码。 比如这种 它们的共同特征就是结构较简单,讲解也不多,贴的代码行数能占整个篇幅的七八成。这种文章写起来很快,leecode标签下最多时候有45篇。 虽然这样以来,博客的文章数上升很快,但不客气地说,这有“注水”的嫌疑,已经背离了我建设这个...
阅读(564) 评论(0)

用opencv创建一个图片搜索引擎的几点改进

在《用Python和OpenCV创建一个图片搜索引擎的完整指南》介绍的python代码实现基础上,本文针对C++的代码实现,提出了几点改进,以便提高搜索精度。...
阅读(700) 评论(0)

[oj.leetcode] #174 - Dungeon Game 一次特别的DP之旅

原题篇幅挺长,关于一个2D关卡游戏,这里就不赘述了。这里以矩阵的方式陈述一下。 在一个二维数组M*N中, 有一个王子需要从起点[0][0]出发,移动到终点[m-1][n-1],每次移动一格,方向只能向右或者向下。出发前,王子的(健康)值至少为1。矩阵中每一格有一整型值,可正可负可0,对于经过的王子,会把这值加到他身上。规则是王子在移动过程中(包括到达终点),无论何时他身上的值都不能小于1。问王子...
阅读(467) 评论(0)

[oj.leetcode] #179 - LargestNumber, 如何在7ms内跑完 221个测试用例

题目:已知一个整型数组,如何排列使得最后组成一个最大整数,输出这个整数的字符串,假设都是非负。 比如[3, 30, 34, 5, 9], 结果应该是 9534330 这里选用C++。 第一感觉应该是跟排序相关,稳妥方案是快速排序quick sort. 每两个数之间比较时,应从最高位开始,一位一位进行比较,将某一位更大的数排在前面。当然需要考虑当一个数是另一个数前缀时的情况,之后再...
阅读(489) 评论(0)

Python中yield的使用小述

Python中yield恐怕是最迷人的特性之一了,不过要想理解...
阅读(763) 评论(0)

[Android] - 如何写Instrumentation UT Manifest.xml

<activity android:name="BluetoothRequestPermissionTest" ...
阅读(725) 评论(0)

递归一题三解-将二分查找树(BST)转化成循环双链表(DLL)

题目来自leetcode: 已知一个BST(binary search tree), 将其原地转化成一个循环的排序过的双链表(circular sorted double linked list)。 说明:BST的节点有两个指针left, right, 分别指向比它小,和比它大的节点。变成DLL之后,由于DLL节点原本有prev 和 next 指针分别和之前和之后的节点,这里假定原left指针指...
阅读(1465) 评论(0)
28条 共2页1 2 下一页 尾页