以太坊Web3.js与加密货币开发全解析
1. Web3.js基础与所有权合约实现
Web3.js文件可嵌入JavaScript文件中,不过暂未详细介绍在JavaScript代码里实现所有权合约的Web3.js等效代码以开发前端应用。
Web3.js与geth、Mist不同,它们借助IPC和HTTP在以太坊区块链上协同运作,且都采用JSON - RPC协议。Web3.js库可分为四个主要模块,即eth、shh、bzz和utils,还能在纯JavaScript中调用该库,在私有区块链上运行智能合约,同时可以探索其各种API子模块和函数。最后还给出了所有权合约的Solidity实现及其Web3.js等效代码生成。
2. 代币与加密货币的区别
在探讨加密货币开发前,需明确代币和加密货币(币)的区别:
| 比较项 | 币 | 代币 |
| ---- | ---- | ---- |
| 区块链基础 | 拥有独立区块链的独立货币 | 主要基于单一区块链变体 |
| 功能特性 | 功能通常有限,主要作为价值存储 | 能存储复杂、多层面的价值 |
| 生成方式 | 大多通过区块链挖矿产生 | 通过在区块链上执行智能合约生成 |
所以在后续内容中提到的加密货币,实际指的是代币,因为主要围绕以太坊智能合约展开。
3. 使用Truffle开发ERC20代币
3.1 Truffle框架简介
Truffle是用于以太坊开发、测试和资产流水线的框架,它采用ERC190标准进行包规范。资产流水线概念借鉴自Ruby on Rails,能按执行顺序对Ja