IPFS私有网络集群搭建

2020-01-09
阅读 4 分钟
7.8k
对于联盟链的业务中搭建一个私有网络的 IPFS 集群还是很有必要的,私有网络集群允许 IPFS 节点只连接到拥有共享密钥的其他对等节点,网络中的节点不响应来自网络外节点的通信。IPFS-Cluster 是一个独立的应用程序和一个 CLI 客户端,它跨一组 IPFS 守护进程分配、复制和跟踪 pin。它使用基于 Raft 一致性算法来协调存储...

Hyperledger Fabric Explorer 安装配置

2019-12-24
阅读 5 分钟
6.5k
所需依赖以及安装 Nodejs 8.11.x (Note that v9.x is not yet supported) PostgreSQL 9.5 or greater jq docker-ce docker-compose git在上一篇的《Hyperledger Fabric 多机部署》已经部署好了 Fabric 网络,这里用 CLI 那台机器来部署 Hyperledger Explorer,所以有些依赖已经安装好了。 安装 PostgreSQL {代码...} 安...

Hyperledger Fabric 多机部署

2019-12-24
阅读 31 分钟
5.4k
官方的first-network执行一个脚本单机 docker 就可以启动 fabric 网络环 很多书和网络上也都是基于first-network教学,下面教程基于拆解first-network,不但对我们更深入了解 fabric 网络搭建有很大帮助,也有利于我们真实生产环境的搭建操作。

PHP实现Snowflake生成分布式唯一ID

2018-11-26
阅读 4 分钟
8.7k
Twitter 的 snowflake 在分布式生成唯一 UUID 应用还是蛮广泛的,基于 snowflake 的一些变种的算法网上也有不少。使用 snowflake 生成 UUID 很多都是在分布式场景下使用,我看了下网上有其中有几篇 PHP 实现的都没有考虑到线程安全。现在 PHP 有了 Swoole 的锁和协程的加持,对于我们开发线程安全和高并发模拟还是很方便...

Flutter 实现根据环境加载不同配置

2018-09-13
阅读 2 分钟
10.2k
之前做后端开发的时候,不管是什么语言或者框架,都习惯根据不同环境加载不同的开发配置,比如本地开发的时候,加载local.env配置,部署开发环境的时候加载develop.env配置,通常通过一个环境变量来决定加载相应的配置。最近在开发一款Flutter App,我也希望App在不同的环境中加载不同的配置文件,实现的方式如下,如有不...

OpenZeppelin ERC721源码分析

2018-08-20
阅读 16 分钟
6.9k
ERC721 官方简介是:A standard interface for non-fungible tokens, also known as deeds.也叫非同质代币,或者不可置换代币(NFTs)。提到ERC721,一个好理解的例子就是CryptoKitties 迷恋猫,每一只猫都是独一无二的拥有不同基因,有收藏价值属性。ERC721对于虚拟资产收藏品领域会有很好的应用价值和市场需求。

以太坊源码分析--MPT树

2018-08-17
阅读 16 分钟
10.6k
MPT(Merkle Patricia Tries)是以太坊中存储区块数据的核心数据结构,它Merkle Tree和Patricia Tree融合一个树形结构,理解MPT结构对之后学习以太坊区块header以及智能合约状态存储结构的模块源码很有帮助。

  以太坊源码分析--RLP编码

2018-08-03
阅读 11 分钟
3.3k
RLP(Recursive Length Prefix),递归长度前缀编码,它是以太坊序列化所采用的序列化和反序列化的主要方式。区块、交易等数据结构在 网络传输和持久化时会先经过RLP编码后再存储到数据库中。rlp适用于任意的二进制数据数组的编码,在以太坊中,rpl接受的数据分为两类:1.字节数组 2.类list数据结构。

Go实践微服务 -- 服务发现

2018-07-11
阅读 5 分钟
9.8k
服务的注册发现对于微服务来说是一个非常重要的环节,在单一架构应用中,service之间的互相调用,通过一个固定的host和port来发起REST或者RPC来调用,但是在微服务架构中,各个服务往往是动态变化的,所以需要一个服务发现机制来发送客户端的请求到动态的service实例中去。

OpenZeppelin ERC20源码分析

2018-06-27
阅读 16 分钟
8.6k
ERC20:Ethereum Request for Comments 20,是一个基于以太坊代币的接口标准(协议)。所有符合ERC-20标准的代币都能立即兼容以太坊钱包,它能让用户和交易所,都能非常方便的管理多种代币,转账、存储、ICO等等。

以太坊POA共识机制Clique源码分析

2018-04-23
阅读 17 分钟
7.5k
以太坊中除了基于运算能力的POW(Ethash)外,还有基于权利证明的POA共识机制,Clique是以太坊的POA共识算法的实现,这里主要对POA的Clique相关源码做一个解读分析。

从PHP Laravel 到 Go Iris--路由篇

2017-09-11
阅读 4 分钟
9.7k
Laravel是我最喜欢的PHP Web开发框架,所以也希望可以在Go的Web框架中选择一个类似Laravel这样的好用又全栈的框架,刷了一下Beego, Echo , Gin, 以及Iris的文档,最终还是选择Iris,当然我是没有从性能角度考虑,只是从可以快速开发,且支持的特性全还有就是看着顺眼的心理选择了Iris,应该有不少PHPer像我一样使用Larav...

Laravel Passport API 认证使用小结

2017-08-04
阅读 9 分钟
9k
看到Laravel-China社区常有人问Laravel Passport用于密码验证方式来获取Token的问题,刚好我最近一个API项目使用Laravel Dingo Api+Passport,也是使用Oauth2 的'grant_type' => 'password'密码授权来做Auth验证,对于如何做登录登出,以及多账号系统的认证等常用场景做一下简单的使用小总结。

剖析Laravel队列系统--Worker

2017-07-17
阅读 9 分钟
5.7k
现在,我们知道了Laravel如何将作业推到不同的队列中,让我们来深入了解workers如何运作你的作业。 首先,我将workers定义为一个在后台运行的简单PHP进程,目的是从存储空间中提取作业并针对多个配置选项运行它们。

剖析 Laravel 计划任务--初探

2017-07-12
阅读 6 分钟
2.7k
Imagine this scenario, as a developer of a large SaaS you're tasked with finding a way to select 10 random customers every minute during the weekend and offer them a discounted upgrade, the job for sending the discount can be pretty easy but we need a way to run it every minute, for that let me s...

剖析 Laravel 计划任务--事件属性

2017-07-12
阅读 7 分钟
3k
Every entry you add is converted into an instance of Illuminate\Console\Scheduling\Event and stored in an $events class property of the Scheduler, an Event object consists of the following:

非 Laravel 项目中集成使用 illuminate/config

2016-07-21
阅读 4 分钟
4.7k
Laravel的配置都在config目录下非常方便管理,可以通过config()帮助函数来实现对配置项目的设置和获取,同时用 DotEnv 来实现项目内环境变量的控制,非常强大和方便。我们在日常开发中如果没有使用Laravel框架,比如写一些脚本,或者自己写的项目框架,但是想集成这样的配置管理。这里就讲讲如何集成illuminate/config ...

Docker 快速入门指引

2016-06-14
阅读 9 分钟
3.8k
Docker是 Docker.Inc 公司开源的一个基于 LXC技术之上构建的Container容器引擎,基于Go语言并遵从Apache2.0协议开源。

制作一个BearyChat的Laravel项目错误日志通知机器人

2016-05-28
阅读 3 分钟
3k
Laravel 集成 Monolog 来做日志处理,Monolog非常强大,也容易扩展,其实它本身已经支持很多Handler了,你可以把日志发送到邮件或者其他日志收集服务器或者系统中,因为我们团队使用Bearychat 作为团队沟通工具,所以把Laravel项目的实时错误日志推送到Bearychat的一个讨论组中,方便组员迅速发现异常和解决问题 ,其实...

简单粗暴的Caddy Server

2016-05-21
阅读 3 分钟
7.8k
在上一篇的《Mac极简的开发环境Laravel Valet实践》中提到Valet是利用系统后台启用的Caddy来提供web服务的,这个Caddy是个web server?今天玩了一下,非常赞,当然简单粗暴是有点标题党了。

Laravel5.1+ 分页Pagination解析以及扩展

2016-05-11
阅读 8 分钟
2.5k
Laravel 的分页很方便,其实扩展起来也挺容易的,下面就来做个示例,扩展一下paginate() 和 simplePaginate()方法,来实现我们自定义分页样式,比如显示"上一页"和"下一页",而不是"《"和"》",当然扩展的方法掌握了你就可以肆无忌惮的扩展一个你想要的分页了,比如跳转到某一页,分页显示一共多少记录,当前显示的记录...

Laravel Composer Package 开发实战 toastr-for-laravel5

2016-04-25
阅读 9 分钟
4.2k
在Laravel的文档中有Package Development,对于入门开发人员来说还是比较抽象,因为开发一个包需要了解 Service Providers,Service Providers 和 Facade 已经够抽象的了对刚接触Laravel的开发人员来说,所以我来写一个简单的Laravel 包开发的实例教程吧。

Laravel自带Auth 密码重置源码解析及扩展实现手机号密码找回

2016-04-25
阅读 23 分钟
7.4k
Larval技术群小伙伴问密码重置时PasswordController中需要设置的$broker是干嘛用的,正好来写一下Laravel 中Auth的ResetsPasswords,以及实践一下扩展,所以大体这篇博客写写:

Laravel 5.2 Auth 认证解析以及改用 salt+passwrod 加密验证

2016-04-13
阅读 6 分钟
5.4k
Larval 5.2的默认Auth登陆传入邮件和用户密码到attempt 方法来认证,通过email 的值获取,如果用户被找到,经哈希运算后存储在数据中的password将会和传递过来的经哈希运算处理的passwrod值进行比较。如果两个经哈希运算的密码相匹配那么将会为这个用户开启一个认证Session。