使用Truffle、Ganache、MetaMask、Vue+Web3完成的一个简单区块链项目

文章目录

概要

使用Truffle、Ganache、MetaMask、Vue+Web3完成的一个简单区块链项目。

初始化Truffle项目

安装好truffle,执行命令。

bash 复制代码
truffle init

完成后目录如下。

创建编写合约

在contracts目录下创建编写合约。

准备一个简单的合约。

bash 复制代码
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

contract SimpleStorage {
    // 存储一个数字
    uint256 private storedNumber;

    // 设置数字
    function setNumber(uint256 _number) public {
        storedNumber = _number;
    }

    // 获取数字
    function getNumber() public view returns (uint256) {
        return storedNumber;
    }
}

编译合约

在项目目录执

bash 复制代码
truffle compile

执行成功会在build/contracts目录下生成一个json文件, JSON 文件中,abi 和 bytecode 是与合约交互的关键部分。

配置Ganache

点击New WorkSPACE配置,主要配置本地和端口号,本地的话我没就使用默认的。

配置完成后启动就行,默认有十个账户,都有以太。

修改truffle-config.js文件

修改两个地方,一个网络和合约版本,网络要和gannche里的一样,合约版本要一致或兼容。


编写迁移文件

在migrations目录下编写一个js文件。

bash 复制代码
const SimpleStorage = artifacts.require("SimpleStorage");

module.exports = function (deployer) {
    deployer.deploy(SimpleStorage);
}

迁移文件用于管理和自动化智能合约的部署过程。每当你需要将合约部署到区块链网络时,迁移文件会帮助你定义和执行这一过程。

部署合约

项目目录下执行命令

bash 复制代码
truffle migrate

部署完成后查看Ganache。

使用Truffle 控制台

部署完成后项目目录下执行

bash 复制代码
truffle console
bash 复制代码
let instance = await SimpleStorage.deployed();
//
await instance.setNumber(42);
//
let number = await instance.getNumber();
//
console.log(number.toString());

验证合约。

使用MetaMask和Vue+Web3与链交互

创建Vue项目,安装web3。编写两个简单的页面,一个用于连接钱包,一个用于合约交互。



注意需要编译好的合约json文件。

启动项目。

在游览器插件中安装MetaMask。

点击连接钱包,会弹出MetaMask。

选择导入钱包。输入Ganache中产生的助记词。
连接到钱包。

点击登入。

输入数字。点击set。会弹出MetaMask。

点击确认交易。提示交易成功。

点击查询就可以查看到钢材输入的数字。

然后查看Ganache,看到块变化和交易信息。

至此,一个简单的区块链就实现了。

相关推荐
安 当 加 密15 小时前
安当全栈式PostgreSQL数据库安全解决方案:透明加密、动态凭据与勒索防护一体化实践
数据库·postgresql·区块链
Minner-Scrapy1 天前
零知识证明与 ZK Rollups 详解
scrapy·区块链·网络爬虫·零知识证明
阳阳大魔王1 天前
零知识证明在区块链加密货币中的应用分析
网络·网络安全·区块链·零知识证明
坚定信念,勇往无前2 天前
以太坊标准合约-ERC标准
区块链
Sui_Network2 天前
移动 Web3 社交博彩游戏 Pebble City 正式上线 Sui
人工智能·游戏·web3·去中心化·区块链
EM-FF2 天前
bitcoinjs学习笔记4—p2pkh、p2sh、p2wpkh地址生成
笔记·学习·区块链
Miyazaki_Hayao3 天前
《Somewhat Practical Fully Homomorphic Encryption》笔记 (BFV 源于这篇文章)
笔记·区块链·同态加密
FrancyZhou5 天前
【12】智能合约开发入门
区块链·智能合约
电报号dapp1195 天前
Sui链开发:技术架构与生态实践深度解析(2025年最新进展)
架构·去中心化·区块链·智能合约