ethereum
通过状态锁在 Solidity 智能合约中实现两阶段提交
前言 在一些牵扯到多个系统或合约交互的智能合约应用场景中,尤其是一些资产 / 数据准确性较为敏感的业务中,我们需要保证在整个业务流程中数据的原子性。因此,我们需要在合约层面实现类似多阶段提交的机制,即将合约中的状态更改过程分解为预提交和正式提交两个阶段。
本文通过状态锁的机制实现…
Solidity 智能合约开发 - Hardhat 框架使用
前言 经过了前几篇对智能合约基础、Web3.py、ethers.js 的学习,我们已经掌握了通过程序与区块链网络直接交互的基础知识,不熟悉的同学可以回顾一下:
Solidity 智能合约开发 - 基础
Solidity 智能合约开发 - 玩转 Web3.py
Solidity…
Solidity 智能合约开发 - 玩转 ethers.js
前言 在之前的《Solidity 智能合约开发 - 基础》中,我们学习了 Solidity 的基本语法,并且了解了可以通过 Brownie 与 HardHat 等框架进行调试。而另一篇《Solidity 智能合约开发 - 玩转 Web3.py》中我们也通过 Web3.py…
Solidity 智能合约开发 - 玩转 Web3.py
前言 在前文《Solidity 智能合约开发 - 基础》中,我们学习了 Solidity 的基本语法,并且了解了可以通过 Brownie 与 HardHat 等框架进行调试。但在使用这些封装好的框架之前,我们可以通过 Web3.py 直接与我们本地的 Ganache 节点进行交互…
Solidity 智能合约开发 - 基础
前言 去年读研的时候上的 HKU 的 <COMP7408 Distributed Ledger and Blockchain Technology>,课程中学习了以太坊智能合约的开发,做了一个简单的图书管理 ÐApp,然后毕业设计也选择了基于 Ethereum…
Ethereum MPT(Merkle Patricia Tries)详解
前言 最近接到了一个工作任务,将项目智能合约状态树中的数据结构从红黑树改为字典树,并对比一下两个数据结构的性能,Trie 主要参照的是 Ethereum 官方的 Java 实现 ethereum/ethereumj,而红黑树则是自己实现…
Ethereum 核心技术解读
前言 比特币作为一种去中心化的数字货币,是极其成功的,但受限于比特币脚本(非图灵完备,只能处理一些简单的逻辑),并不能处理很复杂的业务。而Ethereum引入了智能合约,使去中心化的概念能够应用于更丰富的应用场景,因此也被称为区块链 2.0。本文将对以太坊核心技术进行解读…