跳到主要内容

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(星际文件系统),提供分布式网络上的文件存储和访问。
身份验证和隐私保护利用区块链技术,用户可以控制自己的身份信息和隐私数据,无需依赖第三方。
链上治理在区块链协议内实施的治理机制,允许代币持有者投票决定网络的变更和升级。

后续还会继续更新