自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 资源 (1)
  • 收藏
  • 关注

原创 中国区块链网络调研分析

本文对应用范围较广的5种国内区块链网络进行了调研和分析,包括BSN开放联盟链、星火链网、至信链、蚂蚁链和树图链。

2023-07-31 17:09:07 1113

转载 在BSN武汉链上部署solidity智能合约(转载)

本文介绍了基于BSN武汉链部署solidity智能合约的全过程

2022-10-21 17:12:07 707

原创 深度学习未来的思考

现在的深度学习模型根本不具有智能性,只是基于统计学对过去经验的一种认识和总结,得到的规律都是滞后的,无法像人一样能融汇贯通各种知识,并且主动获取各种信息,做出合理的推断或作出创新性的突破。也就是想通过现在的深度学习模型得到真正的人工智能目前根本不可行。人工智能模型无法创造出人工智能模型,实现不了自举,就不具备真正的智能性。用代码写一行就可以得到的规律,需要用大量数据集训练得到,代价太大,本质只是人不想深入分析复杂事物的规律或者说根本不知道怎么分析,而采取的一种折衷的策略。目前的模型训练一般的步骤是:

2021-04-02 20:58:30 266 1

原创 共识算法系列之一:raft和pbft算法

共识算法系列之一:raft和pbft算法注:文章最初是在2018年5月7日发布知乎的美图技术团队系列文章。作者简介:梁敏鸿,美图区块链架构师,专注于区块链技术研究与产品应用落地。导语:区块链技术中,共识算法是其中核心的一个组成部分,本文将详细阐述私链的raft算法和联盟链的pbft算法,从算法的基本流程切入,分析两者的区别。区块链技术中,共识算法是其中核心的一个组成部分。首先我们来思考一个问题:什么是共识?对于现实世界,共识就是一群人对一件或者多件事情达成一致的看法或者协议。那么在计算机世界

2021-03-11 10:44:05 1183

原创 RSA过程总结

一共有6个数字:p,q,n,o(n),e,dp:质数q:质数n:模特性:p*q=n,n的长度为密钥的长度第一步:计算n的欧拉函数o(n)=(p-1)*(q-1)第二步:随机选取一个数e,要求 1<e<o(n),且e和o(n)为互质数(即两个只有一个公因子,该公因子就是为1)第三步:计算e对于o(n)的模反元素d(模反元素可能不止一个,模反元素特性:如果两个正整数a和...

2019-12-27 11:19:48 523

转载 架构设计-谈谈架构

架构设计(1)-谈谈架构原创我为AI领域做了奉献 发布于2018-11-15 10:39:22 阅读数 419 收藏展开分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!1、什么是架构和架构本质在软件行...

2019-12-25 11:27:41 665

原创 fabric1.*多机部署要点记录

最近又要弄fabric的项目,在sit环境部署时遇到了不少问题。记录一下相关要点。1.networks问题: 单机部署,所有容器需要在dockerfile定义networks为同一个网络。多机部署,不要求在dockerfile定义networks为同一个网络。2.CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock 配置的问题 ...

2019-11-23 09:54:54 407

转载 HTTP1.x&HTTP2.0&WebSocket区别

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/qq_35975685/article/details/85331017看了一些博客与文章,在这里总结一下,如有不对的地方请指正。HTTPHTTP协议(HyperText Transfer Protocol,超文本传输协议) ,是互...

2019-11-22 11:27:07 582

原创 hyperledger Fabric make docker错误的解决方案(免qiang下载,适用Fabric 1.*的所有版本)

此文档旨在,提高fabric的构建过程,去除了编译make docker时候的网络依赖,使编译可以快速,正常的通过,无需qiang后才能下载。主要实现者为zeoio1.环境准备:需要安装docker-ce 17.05或者以上版本的docker,不然编译fabric-tools的docker file文件时,会无法识别 from * as *的语法,以及copy --from=*这样的语法。...

2019-10-19 17:23:27 1331

原创 git常用命令

1.克隆整个项目 git clone2.切换分支git checkout3.下载远程仓库数据到本地 git fetch4.本地增加相关增加或修改的文件 git add5.git commit 提交到本地仓库6.git push 把本地分支推送到远程分支常见用法:1.撤销本地的修改1.1没有git add,撤销本地的所有修...

2019-09-23 18:25:16 119

翻译 libra区块链技术白皮书-中文部分翻译版

2019年6月18日facebook发布了libra区块链,目标是做一个全球货币和支付工具。最近花了一些时间来研究这个libra,官网上有白皮书的中文版,但没有技术白皮书的中文版,因此花了一些时间来做了一个简单的翻译。原文链接:https://developers.libra.org/docs/the-libra-blockchain-paper以下是正文:libra区块...

2019-07-04 11:19:42 2061

翻译 配置和管理raft排序服务--翻译自Fabric1.4官方文档

最近又需要用fabric来做项目,之前只关注到fabric1.1版本,现在最新的是1.4版本。因此主要看了一些1.4和之前的版本不同的内容。比如1.4增加了etcdraft共识算法。因此接下来会翻译几篇fabric1.4官方文档,供大家参考。基本都是对着google翻译来做的,把一些不符合中文顺序和专业术语的地方,稍微调整下,并且加了一些自己的理解和解释。下面这篇“配置和管理raft...

2019-06-12 10:31:16 1904

原创 逻辑回归模型的总结和理解

最近在学习吴恩达的深度学习和神经网络的课程,下面是对于逻辑回归神经网络的一些理解和总结。对于逻辑回归模型,可以理解成是有两个步骤的模型,第一步是计算x+b,第二步是计算sigmoid函数 。   构建上图最上面的单层的神经网络,其实是希望通过样本数据(,),其中m表示样本的个数,k表示输入值x的特征向量数,得到一个全局成本函数的值最小的和b。当有输入新的输入数据x时(新的输入数据x也必...

2018-11-15 14:48:30 10004

转载 Golang 新手可能会踩的 50 个坑

Golang 新手可能会踩的 50 个坑 golang 18k 次阅读  ·  读完需要 154 分钟59译文:Golang 新手可能会踩的 50 个坑原文:50 Shades of Go: Traps, Gotchas, and Common Mistakes翻译已获作者授权,转载请注明来源。不久前发现在知乎这篇质量很高的文章,打算加上自己的理解翻译一遍。文章分为三部分...

2018-11-07 11:25:13 812

原创 星云链并行执行交易逻辑

星云链并行交易执行逻辑 总体来说分三步:第一步准备世界状态txWorldState, err := block.WorldState().Prepare(tx.Hash().String())func (ws *worldState) Prepare(txid interface{}) (TxWorldState, error) {    s, err := ws.sta...

2018-11-06 16:32:23 393

原创 Evm7种重要指令的实现原理

Evm7种重要指令的实现原理:Evm的所有指令定义都在core/vm/jump_table.go里实现的,而每个指令对应的操作函数都是在core/vm/instructions.go里实现的。如果一个节点并发调用智能合约,那么对memory的操作是否有线程安全问题。不会,因为每执行一个交易,都会创建一个新的evm对象。只有最终写入statedb的数据会有线程安全问题。基本原理:一个指令...

2018-11-02 14:47:06 2040

原创 用户发送http交易请求到rpc服务,tx写入txpool中的pending队列,最后打包成区块的整个流程

用户发送http交易请求到rpc服务,再到txpool,最后打包成区块的整个流程:1.经过http.Server等一系列调用后,最终会进入rpc/http.go里ServeHttp方法,最后会调用ServeSingleRequest方法  srv.ServeSingleRequest(ctx, codec, OptionMethodInvocation)2. rpc/server.g...

2018-10-30 20:24:13 1632

原创 RPC服务启动过程

启动rpc服务的过程:第一步:node/node.go里的Start()方法里n.startRpc()方法实现开启各种endpoint的rpc服务。包括inProc和http的endpoint。  其中APIS方法实现了把所有rpc方法封装成API对象数组。比如PublicTransactionPoolAPI对象里的GetBlockTransactionCountByNumber方法,最后...

2018-10-30 20:22:14 1640

原创 测试go多协程并发写入内存和磁盘对性能的影响

最近希望能把一些过程,由传统的顺序执行改变成并发执行,看这样的优化是否能带来性能的提高。于是写了几个test来测试带来的影响。 测试的环境为mac pro,2.3 GHz Intel Core i5(双核),16GB内存。(1)先测试并发写入内存是否能够得到性能的提高测试代码如下:func TestMemoryDB_SequenceExecute(t *testing.T) { d...

2018-10-26 14:27:48 3237 1

原创 Emscripten实现把C/C++文件转成wasm,wast(wasm的可读形式),llvm字节码(bc格式),ll格式(llvm字节码的可读形式)并执行wasm

《一》˙转换Emscripten实现把C/C++文件转成wasm,wast(wasm的可读形式),llvm字节码(bc格式),ll格式(llvm字节码的可读形式)的步骤:最新版本的Emscripten(1.38.12)已经能实现把c/c++转成wasm文件,例子;(1)源文件:extern.cc  如果不加extern “c”{}则转出的wasm文件对应的wast文件只有module这...

2018-10-08 20:07:36 4057

转载 [心得]编译原理知识整理

[心得]编译原理知识整理前言不学龙书的码农不是靠谱的码农。就冲这句话,我真的把编译原理给速推了一把。干货分析把源程序分解成多个组成要素,并在这些要素之上加上语法结构。 综合根据中间表示和符号表中的信息来构造目标程序。 把声明如何完成一个计算任务的语言称为强制式语言。编译器最基本的数学模型是有穷状态机FSM和正则表达式。它们用来描述词法单位(关键字,标识符)以及被编译器用来识...

2018-09-30 16:03:07 1549

原创 小时候的计算机回忆

  最早接触电脑是在初一,大概是1999年的时候。学校有上机课,当时比较落后,用的是dos系统,老师给每个同学都发一个5英寸软盘用来保存数据,后来升级换成3.5英寸软盘了。上机课大家很多时候都只会玩预装的tt打字游戏,但有些厉害的同学已经会用qbasic进行编程了。放假的时候记得有时会去爸爸工作的面厂,然后在办公室里玩桌上的电脑,电脑上装的win95,会玩里面的潜艇大战之类的游戏。有一次玩的不肯回...

2018-09-29 14:19:45 406

转载 编译原理书籍推荐

大学课程为什么要开设编译原理呢?这门课程关注的是编译器方面的产生原理和技术问题,似乎和计算机的基础领域不沾边,可是编译原理却一直作为大学本科的必修课程,同时也成为了研究生入学考试的必考内容。编译原理及技术从本质上来讲就是一个算法问题而已,当然由于这个问题十分复杂,其解决算法也相对复杂。我们学的数据结构与算法分析也是讲算法的,不过讲的基础算法,换句话说讲的是算法导论,而编译原理这门课程讲的就是比较专...

2018-09-28 13:44:20 13199 1

原创 github工作流程

Git工作流程:已有:master分支,develop分支开发流程:1.基于develop分支创建自己的分支:      git checkout develop       git branch -b  new_branch2.在本地的分支做了一些修改后,提交到new_branch    git add a.txt     git commit -m   “ADD:msg”  ...

2018-09-10 17:24:07 420

原创 以太坊 eth/handle.go处理newblockMsg消息的主要流程

今天把以太坊 eth/handle.go处理newblockMsg消息的流程基本看完了,记录一下。以太坊 eth/handle.go处理newblockMsg消息的主要流程:Fetcher负责验证区块并插入区块,如果符合条件,还会重组主链区块。如果收到的远程peer节点发来的区块TD-区块难度(即上个区块的TD) 大于  之前保存的peer最新的TD,则证明中间还差了一些区块没有同步,...

2018-09-06 16:59:36 611

原创 关于go协程的调度和执行顺序

无论是java还是go,开启线程和协程的时候,执行的顺序都是一样的。例子1: func funcB() {    println("funcB")}func funcA() {    println("funcA")} func main() {funcA()    go funcB()    select {}} 实际的执行顺序还是...

2018-09-06 14:56:59 9064

原创 以太坊blockchain.go里的reorg方法理解

以太坊go-ethereum项目里core/blockchain.go是一个很核心的文件,其中的reorg方法负责处理侧链分叉的情况。以下是对这个方法逻辑的理解:总体思路:先收集区块,最后再看能不能拼起来。1.所有收到的区块都会存入数据库2.如果不是正常的情况(收到的区块的父hash不是本地权威(Canonical)hash链最新区块的hash),则尝试进行重组reorg区块链。 ...

2018-09-05 19:17:24 974 1

原创 DHT和一致性哈希算法总结

 Hash算法比较重要的考量点有两个:1.单调性(新增或者减少映射节点时,尽量不影响原有映射关系) 2.平衡性(尽量均匀分布) 分布式领域常见负载均衡算法:(1)取余法:%n如果有3个节点,Hash之后取模求余  Hash(x)%3,如果加一个节点,则 Hash(x)%4。 这种方法带来的问题:1 一个 cache 服务器 m down 掉了(在实际应用中必...

2018-07-25 16:49:02 3398

原创 steemIT深度研究总结

steemIT深度研究总结目录1.steem生态 21. 公链 22. 代币平台 23. 公链应用 34. 周边配套 45. 社区应用 42.SteemIT社区 42.1.Token种类 42.1.1 Steem 52.1.2 SP(steem power) 52.1.3 SMD(新版SBD) 62.1.4 SteemIT社区钱包截图 92.2 token 产生和分配方案 92.2.1初始化分配规...

2018-05-29 10:56:38 5886

原创 产品设计哲学

如果要脑暴产品和idea,思考的逻辑不能颠倒。不是从结合某样技术或者概念去反推有什么好的idea。而是去思考现在用户有哪些需求未被满足,有哪些痛点未被解决的,有哪些点能够提升用户体验。从这个角度去思考可以怎么结合技术或者新概念。好的产品设计,技术从来都不是为了使用而使用。...

2018-05-20 07:11:28 711

原创 不知不觉开通csdn已经十一年多

不知不觉开通csdn已经十一年多

2018-03-11 00:58:27 200

原创 Fabric1.0.2基于tls连接实现日志监听

Fabric1.0.2默认自带的例子是不基于tls连接的,但是balance-transfer和e2e_cli的例子是基于tls,为了使连接更加安全和通用,研究支持基于tls的日志监听实现。     Fabric1.0.2源码里的example/events/Block-listen.go例子产生监听客户端的流程大致是:     Block-listen.go里调用createEventC

2017-09-25 21:02:26 1944 5

原创 假如机器有感情

今天了解到AB岗的工作制度,公司里有些职位已经实行AB岗。心里突然觉得不是很有滋味,甚至觉得有些打击。想到机器世界的很多模型其实也是参考现实世界,比如mysql的主从备份,如果主机器挂掉了,从机器可以顶上。加入机器有感情,从机器会不会不甘心只当一台从机器呢?如果机器都有这样的想法,是否会引起机器之间的斗争呢?

2017-08-08 10:51:32 303

原创 pbft流程深层分析和解释

pbft五阶段请求解释 Request  pre-prepare   prepare   commit  执行并reply(1)pre-prepare阶段:主节点收到客户端请求,给请求编号,并发送pre-pre类型信息给其他从节点。 从1节点收到pre-pre类型信息,如果同意这个请求的编号,如果同意就进入prepare阶段(2)Pr

2017-05-10 10:47:41 13753 2

原创 搭建和运行hyperledger fabric1.0alpha版本过程分析

搭建和运行hyperledger fabric1.0alpha版本过程分析   目录 1.     主要步骤... 1.安装docker和docker-compose. 2.下载相关镜像并tag重命名... 3. 安装git 并git下载fabric源码... 4.安装go环境... 5. 安装ltdl包(可能需要执行的步骤)... 6.

2017-03-27 14:41:09 10300 2

原创 git常用命令和步骤

公司用了gitlab后,用这个东东,有时用gui经常会出现莫名奇妙的错误。现在总结一下常用流程,让以后再用gitlab提交的时候可以参考和用得上。  第一步:进入gitlab系统,新建一个项目。在本地的git bash 环境执行 git clone git地址  目录 ,会提示空目录的提交。 第二步:在git产生的目录下,复制文件或者新建文件。然后执行                g

2017-01-24 16:58:26 391

原创 spring boot在eclipse下修改代码自动重启的坑

按照网上说的加上了spring loaded的jar包,run configuration的argument的VM参数也加上了,但是一直还是修改代码后不会自动重启。后来发现原来要在eclipse的project菜单下勾选Build automatically才会生效。。。。是个坑。。

2016-12-29 09:16:32 4126

原创 hadoop-2.5.2安装配置简易步骤

最近想给公司同事做一个关于hadoop的分享,好久没弄这个了。于是在网上找了些文章。按照步骤,在电脑上运行三个虚拟机来搭建hadoop集群,基本能配置成功。以下是安装配置简易步骤和一些经验。    hadoop-2.5.2版分布式安装配置简易步骤:1.复制jdk和hadoop压缩包到/usr/local/2.配置jdk和hadoop的变量环境:  vi /etc/profile

2015-12-15 14:44:48 465

原创 ThinkPHP大总结

ThinkPHP框架用法大总结 目录:1.如何开始2.常见问题总结3.如何调试   重要参考资料文档:ThinkPHP3.0 完全开发手册.chm           第一章:如何开始   前言:thinkPHP是一个动态脚本语言php的mvc框架,我从2012年就开始用了。时过三年,因为要做一个小系统,实

2015-10-13 15:28:43 602

原创 thinkphp学习总结

之前要做一个普通的OA系统,不想再用我用过的技术,比如jsp,.net或者rails,于是决定用php。但是mvc的模式我一直都是很认可的。于是去找支持mvc的php框架,找出了一大堆出来。认真看了各种框架的官网和相关资料后,决定用thinkphp去做。原因如下:1。国产的(虽然说国产的框架一直给我感觉不是很完善,但是这个框架已经发展了6年)2。拥有很多我一直想实现但是没有实现的特性。3。有详细的

2012-03-28 11:45:48 1672

dos命令详解

关于dos命令的详细介绍和用法。

2008-03-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除