跳到主要内容

3 篇博文 含有标签「Web3」

Web3、区块链相关技术文章

查看所有标签

SolidityTruffleRemix和Hardhat之间的关系

· 阅读需 3 分钟
素明诚
Full stack development

Solidity

Solidity 是一种高级编程语言,专门用于编写运行在 Ethereum Virtual Machine(EVM)上的智能合约。它是智能合约开发的核心,类似于 Web 开发中的 JavaScript 或服务器端编程中的 Python。

编译器:solc

Solidity 代码需要被编译成 EVM 字节码,以便在以太坊网络上运行。这一工作由 Solidity 编译器(solc)完成。solc可以通过 Node.js 的包管理器 npm 安装(作为solc-js),这允许你在本地环境中编译 Solidity 代码。

开发框架和环境

在智能合约的开发过程中,除了编写和编译代码外,还需要进行测试和部署。这些工作可以手动完成,但使用专门的开发框架会更高效、更方便。

Truffle

Truffle 是一个全面的以太坊开发框架,提供了智能合约的编译、部署、测试等功能。它内置了 Solidity 编译器,因此安装 Truffle 后,你不需要单独安装solc。Truffle 还提供了一个开发环境,帮助开发者更容易地构建、管理和测试他们的 DApp 和智能合约。

Remix

Remix 是一个在线的 Solidity IDE,它允许开发者直接在网页中编写、编译、测试和部署智能合约。Remix 非常适合初学者和进行快速原型开发,因为它不需要任何本地安装。它提供了图形界面和内置的 EVM,可以非常直观地执行合约和调试。

Hardhat

Hardhat 是一个专注于以太坊软件开发的环境,它提供了强大的功能,如 Solidity 的编译、智能合约的部署、测试脚本编写和执行,以及网络管理。Hardhat 的特色是它的 Hardhat Network,一个用于开发的本地 Ethereum 网络,支持高级调试功能。

关系和选择

Solidity 是基础,无论使用哪个开发环境或框架,最终都是在编写 Solidity 代码。

solc 是将 Solidity 代码转化为可以在以太坊上执行的字节码的工具。它可以单独使用,也可以作为其他工具的一部分(如 Truffle 和 Hardhat 内置了 solc)。

Remix 适合学习、快速原型开发和小项目。

Truffle 提供了一个成熟的开发环境,适合大型项目和团队合作。

Hardhat 提供了先进的开发工具和灵活性,适合追求最新技术和自定义开发流程的开发者。

IPFS 常见命令

· 阅读需 2 分钟
素明诚
Full stack development

初始化本地 IPFS 配置文件。这是开始使用 IPFS 的第一步

ipfs init

将文件添加到 IPFS 网络。这会返回一个唯一的哈希值,用于检索文件

ipfs add <file>

通过其哈希值检索文件的内容

ipfs cat <hash>

从 IPFS 下载文件或目录

ipfs get <hash>

固定(Pin)一个对象到本地存储,防止它被垃圾回收

ipfs pin add <hash>

从本地存储取消固定(Unpin)一个对象

ipfs pin rm <hash>

列出给定哈希的对象链接

ipfs ls <hash>

列出哈希对象的链接

ipfs refs <hash>

获取原始 IPFS 块

ipfs block get <hash>

存储原始 IPFS 块

ipfs block put <file>

启动 IPFS 守护进程

ipfs daemon

显示带宽统计

ipfs stats bw

显示当前连接的节点

ipfs swarm peers

发布 IPNS 名称

ipfs name publish <hash>

解析 IPNS 名称

ipfs name resolve <name>

运行垃圾收集清理未引用的文件

ipfs repo gc

查看或修改配置文件

ipfs config

直接与 DHT(分布式哈希表)进行交互

ipfs dht

生成新的 IPNS 键

ipfs key gen

管理文件存储数据

ipfs filestore

Web3 常见术语

· 阅读需 3 分钟
素明诚
Full stack development
特征Web1 (静态网页)Web2 (社交网)Web3 (去中心化网)
主导理念信息共享用户生成内容和互动去中心化、用户主权
技术基础HTML、CSSAJAX、HTML5、云计算区块链、智能合约、加密技术
数据控制网站拥有者平台拥有者(如 Facebook、Google)用户本人
主要应用静态网页社交媒体、博客、电商去中心化应用(DApps)、去中心化金融(DeFi)、NFT
用户角色内容消费者内容创作者与消费者经济参与者、治理参与者
内容验证网站管理员平台算法共识机制
交易方式传统在线支付传统在线支付 + 广告模型加密货币、令牌经济
开发模式封闭源代码开放 API(部分封闭源代码)开源和透明
Web3 组成部分描述
去中心化金融(DeFi)利用区块链技术创建的金融系统,无需传统金融中介(如银行、保险公司)即可进行借贷、交易、投资等。
去中心化自治组织(DAO)基于智能合约的组织形式,成员通过代币持有比例共同决策组织的运营事务,无需中心化管理层。
去中心化应用(DApps)运行在区块链上的应用程序,不受单一控制且抵抗审查。用户直接与 DApps 交互,数据和操作记录在区块链上。
非同质化代币(NFTs)代表独一无二的资产(如艺术品、收藏品)的加密代币,每个 NFT 都有独特的识别码和元数据区分于其他代币。
智能合约存储在区块链上的程序,自动执行、控制或记录合约条款的实现。
加密货币通过密码学保障安全的数字或虚拟货币,充当去中心化网络的交易媒介。
区块链一种分布式账本技术,数据以块链形式存储,确保数据的不可篡改性和透明性。
分布式账本技术(DLT)记录交易或资产的分布式数据库,区块链是 DLT 的一种。
互操作性不同区块链网络之间能够交换和利用信息的能力。
元宇宙(Metaverse)一个虚拟现实空间,用户可以通过 3D 化身与其他人交互、体验虚拟世界中的活动和交易。
Web3 存储解决方案去中心化的文件存储协议,如 IPFS(星际文件系统),提供分布式网络上的文件存储和访问。
身份验证和隐私保护利用区块链技术,用户可以控制自己的身份信息和隐私数据,无需依赖第三方。
链上治理在区块链协议内实施的治理机制,允许代币持有者投票决定网络的变更和升级。

后续还会继续更新