Jax Blog

你所关注的, 就是你的世界

深入理解以太坊 -- 交易细节, RLP编码和签名

以太坊交易数据结构 以太坊交易数据结构定义如下: enum EthChainIDL: Int { case COIN_ETH = 1 case COIN_ROPSTEN = 3 case COIN_RINKEBY = 4 } struct SignTransaction { let value: BigInt let to: Address? let nonce: BigI...

精通比特币 -- 交易细节, 解锁脚本和锁定脚本

数据结构 首先整体地了解一下比特币交易的数据结构. 一个比特币交易, 包含一个或多个 UTXO 作为输入, 一个交易目的地址的 UTXO 输出, 通常还包括一个找零 UTXO 输出. 总输入减去总输出的部分作为手续费奖励给矿工. 以下是相关的数据结构定义示例: public struct Transaction { public let version: Int32 pu...

对象序列化 -- Protocol Buffers

Protocol buffers Protocol buffers 是 Google 开发的一套语言无关, 平台无关, 可拓展的对象序列化机制. 类似于 XML, JSON, 但是更快, 更小, 更简单. 定义了数据结构之后, 便可以用多种语言的特定代码去读和写这些结构化的数据. 不同于 JSON 和 XML等, Protocol buffers 的数据结构需要提前定义在 .proto 文...

JSON 解析--Swift4 的 Codable 协议

开发中经常需要与网络交互, 或者存储数据到磁盘, 这些操作通常都要求对传输的数据进行编码和解码. JSON 是其中最常用的数据编码方式. 虽然已经有很多第三方类库实现了 JSON 解析, 但是使用体验真的比较糟糕. 这与 Swift 的可选值有关. 明明很简单的数据模型转换却变得很棘手, 通常都需要比较繁杂的处理. 幸运的是, Apple 终于在 Swift 4 的 Foundation...

以太坊智能合约开发环境配置

以太坊智能合约开发环境配置

以太坊 以太坊(英语:Ethereum)是一个开源的有智能合约功能的公共区块链平台。通过其专用加密货币以太币(Ether,又称“以太币”)提供去中心化的虚拟机(称为“以太虚拟机”Ethereum Virtual Machine)来处理点对点合约。以太坊的概念首次在2013至2014年间由程序员Vitalik Buterin,受比特币启发后提出,大意为“下一代加密货币与去中心化应用平台”,在...

快速搭建一个网站 -- WordPress 的使用

使用 WordPress 快速搭建一个网站

WordPress 简介 WordPress 是一个以 PHP 和 MySQL 为平台的自由开源的博客软件和内容管理系统。WordPress 具有插件架构和模板系统。 Alexa 排行前100万的网站中有超过16.7%的网站使用 WordPress。 WordPress 有丰富的模板类型, 我们可以使用它来快速搭建一个个人博客或者公司官网. 准备工作 购买服务器和域名 流程 购买服务...

四种常见的 POST 提交数据方式

未来已经来临, 只是尚未流行

HTTP/1.1 协议规定的 HTTP 请求方法有 OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE、CONNECT 这几种。其中 POST 一般用来向服务端提交数据,本文主要讨论 POST 提交数据的几种方式。 我们知道,HTTP 协议是以 ASCII 码传输,建立在 TCP/IP 协议之上的应用层规范。规范把 HTTP 请求分为三个部分:状态行、请求头、消息...

《必然》读书笔记

未来已经来临, 只是尚未流行

必然的趋势 “必然” 是一个强烈的措辞. 它会引起人们的警觉—-这些人相信, 没有什么事必然的. 我也曾是这些人之一. 我们相信事物可能会往各个方向发展, 就像光锥之内, 每一种方向都有可能成为未来的事实. 然而, 凯文凯利却告诉我们说, 未来的必然. 其实, 凯文凯利所描述的必然, 并非我们狭义上所理解的必然. 他以一个更高的视角, 告诉我们, 必然的趋势, 而非必然的细节. 在那个年...

精通比特币学习笔记

精通比特币学习笔记

未来已经来临, 只是尚未流行. 比特币 比特币(英语:Bitcoin ), 是一种去中心化,非普遍全球可支付的电子加密货币。比特币由中本聪(又译中本哲史(化名)于2009年1月3日,基于无国界的对等网络,用共识主动性开源软件发明创立。 区块链 区块链(英语:blockchain 或 block chain)是用分布式数据库识别、传播和记载信息的智能化对等网络, 也称为价值互联网。中本...

数据持久化方案 -- Sqlite for Swift 设计与实现

SQLite.swift 是一个 Swift 版本的类型安全的 SQlite 开源框架. 简单使用 创建数据库 let db = try Connection("path/to/db.sqlite3") 创建数据表 let users = Table("users") let id = Expression<Int64>("id") let name = Expres...