Raftale Blog

「离开世界之前 一切都是过程」

区块链技术与应用 - P10 - 比特币分叉

比特币分叉 分叉定义:一条链分叉成两条链。 产生原因: state fork:同时挖到两个区块,即节点对区块链的当前状态有分歧。 forking attack: 人为故意造成的分歧 protocol fork: 比特币协议升级造成的新旧节点分歧。 hard fork:永久性的分叉,一般是扩大扩规,旧节点无法进行兼容 ...

区块链技术与应用 - P23 - The DAO Incident

The DAO DAO 上一节讲了重入攻击的原理。这节讲一个真实的案例,这个案例在以太坊的历史上赫赫有名,造成了以太坊的分裂。 因为比特币实现了去中心化的货币、以太坊实现了去中心化的合约,所以有人提出一个概念:Decentralized Everything。DAO这个概念就是在这个背景下产生的。 DAO的全称是Decentralized Autonomous Organizatio...

区块链技术与应用 - P09 - The Bitcoin Scripting Language

The Bitcoin Scripting Language 比特币交易验证其合法性依赖于脚本的执行。 比特币系统中使用的脚本语言唯一可以访问的内存空间只有栈,所以也被称为「基于栈的语言」。 交易结构 一笔交易的结构: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 3...

区块链技术与应用 - P08 - 比特币的挖矿

全节点和轻节点 全节点 轻节点 一直在线 不是一直在线 在本地硬盘中维护完整的区块链信息 不用保存整个区块链,只要保存每个区块的块头 在内存里维护UTXO集合,以便快速检验交易的正确性 不用保存全部交易,只...

区块链技术与应用 - P15 - Eth Accounts

P15 - Accounts Account-Based Ledger Comparing Bitcoin and Ethereum: Bitcoin uses a transaction-based ledger, where account balances are inferred through UTXO. Ethereum uses an account-based l...

TypeScript - 基础

TypeScript TypeScript是JavaScript的一个超集,主要提供了类型系统和对ES6对支持。 类型系统 JavaScript是一种动态类型语言,变量类型是在运行时才确定的,可能导致运行时错误。 TypeScript是一种静态类型语言,编译期间就能发现类型相关的错误,使得代码更具有可维护性。 原始数据类型 boolean: let isDone: boolean...

Git Sync Fork

如何同步上游仓库的最新提交到fork后的仓库 1 2 3 4 5 6 7 8 9 10 11 12 13 # 即使是fork的项目,也要添加upstream,否则git remote -v也显示没有 git remote add upstream xxx.git git remote -v git fetch upstream git stash # 合并到本地分支, 例如dev git...

Js Basic

Promise 1 2 3 4 5 fetch("https://xxx.com/post/1") .then((response) => response.json()) .then((json) => console.log(json)) .catch((error) => console.error(error)) .finally(() => {}); ...

nestjs-JWT

想写一下JWT的原理和在nestjs中的使用,不过没时间总结,先随便记点什么 Reference https://wdk-docs.github.io/nest-docs/security/authentication https://docs.nestjs.com/guards JWT Guards @nestjs/passport 是最node.js中最流行的身份验...

区块链技术与应用 - P07 - 比特币的挖矿难度调整

比特币的挖矿难度调整 挖矿本质 挖矿本质上就是尝试block header中的nonce值,使得H(block header) <= target,target就是给定的目标阈值。 target越小,挖矿难度越大。调整挖矿难度,就是在调整目标空间在整个输出空间占的比例。 挖矿难度不调整的话,随着算力越来越强,出块时间越来越短。 时间越来越短并不是好事,可能出现两个节点都同时...