在我们的实际项目生产过程中往往需要为部署的服务和域名配置 SSL 证书,可以采用的方法有很多种,例如可以申请阿里云的免费 SSL 证书,或者也可以使用 CloudFlare 的 SSL 服务。本文介绍了一种使用 acme.sh 脚本工具来申请 Let’s Encrypt! 免费的 SSL 证书,并能够在证书快过期时自动重新申请新证书。这样减轻了运维的负担,不需要再去记录证书的过期时间,也不需要再手动申请新证书和手动进行更新了。
【解构系统设计面试】什么是系统设计?以及如何设计一个新鲜事系统?
这篇文章是《解构系统设计面试》系列博文的第一篇,在这篇文章里我会介绍一下面试中的系统设计是什么,面试官大体上会从哪些方面来考量系统设计的答案,介绍一种分析系统设计问题的方法论(4S 分析法)以及会以“设计一个新鲜事系统”为例,解构这一经典的系统设计面试题。
TEE 可信执行环境 Intel SGX:环境搭建(Ubuntu)
本文介绍了如何在 Ubuntu 上安装 Intel SGX SDK。SGX 全称 Intel Software Guard Extensions,是 Intel 在其 CPU 体系下的扩展,用于增强软件的安全性,用于可信计算 TEE。
如何将 FIBJS 脚本打包成 exe 可执行文件
本文将会介绍如何将 FIBJS 脚本打包成Windows 上的 exe 可执行文件。
FIBOS 超级节点选举以及提案多签介绍
FIBOS 链上资源模型介绍
以太坊智能合约开发 - 环境搭建
在区块链的世界中,比特币被称为区块链1.0,以太坊进化为区块链2.0,这一跨越的实现缘于以太坊对智能合约的实现。智能合约在以太坊网络中扮演着至关重要的角色,目前ERC20代币的发行、多重签名乃至DApp的开发等都需要通过智能合约来进行实现等,因此学习智能合约的开发是很重要的。这篇文章会详细阐述该如何进行以太坊合约开发环境的搭建,以及编写第一个以太坊上的智能合约。
以太坊区块的生成
从名称上来看,区块(Block)也是区块链系统中的核心概念,区块链简单来说就是将区块联结成链,区块中保存的是打包成的各种区块信息。在以太坊中,区块中保存的是各种交易信息。一个区块中可以包含若干个交易,也可以不包含任何交易。这篇文章主要会阐释以下问题:
- 区块是什么?包含了哪些信息?
- 区块是如何被打包的,写入到区块链的?
- 一个区块的大小是多少?可以包含多少交易?
- 多长时间可以产生一个区块?
- 为什么有的区块中没有交易?
【Ethereum基础】:交易的生命周期
大体上说,一个交易的生命周期要经历以下几个过程:
- 构造一笔交易(这里的交易要包含交易双方的地址、以太币数量、时间戳、签名等信息,它是不含任何私密信息的合法交易数据)
- 将消息广播到网络(几乎网络中的所有节点都会收到这笔交易数据)
- 验证交易的合法性(生成交易的节点要首先进行验证,其它节点也要进行验证,没有经过验证的交易是不能进入到区块链网络的)
- 将交易写入区块链
【Ethereum基础】:交易和消息
交易和消息是以太坊系统中很关键的两个概念,同时也是两个非常类似的概念,它们在形式上近乎相同,但是本质上却又完全不同。这篇博客会将交易(Transaction)、消息(Message)和调用(Message Call)进行介绍和区分。