使用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,看到块变化和交易信息。

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

相关推荐
devmoon39 分钟前
运行时(Runtime)是什么?为什么 Polkadot 的 Runtime 可以被“像搭积木一样”定制
开发语言·区块链·智能合约·polkadot·runtmie
暴躁小师兄数据学院3 小时前
【WEB3.0零基础转行笔记】Rust编程篇-第一讲:课程简介
rust·web3·区块链·智能合约
devmoon3 小时前
在 Paseo 测试网上获取 Coretime:On-demand 与 Bulk 的完整实操指南
开发语言·web3·区块链·测试用例·智能合约·solidity
devmoon9 小时前
在 Polkadot Runtime 中添加多个 Pallet 实例实战指南
java·开发语言·数据库·web3·区块链·波卡
Web3VentureView11 小时前
SYNBO Protocol AMA回顾:下一个起点——什么将真正推动比特币重返10万美元?
大数据·人工智能·金融·web3·区块链
软件工程小施同学11 小时前
区块链论文速读 CCF A--VLDB 2025 (1) 附pdf下载
pdf·区块链
blockcoach13 小时前
比特币撕裂,以太坊削藩
区块链
devmoon13 小时前
在 Polkadot 链上添加智能合约功能全指南
安全·区块链·智能合约·polkadot·erc-20·测试网·独立链
TOPGUS1 天前
谷歌SEO第三季度点击率趋势:榜首统治力的衰退与流量的去中心化趋势
大数据·人工智能·搜索引擎·去中心化·区块链·seo·数字营销
中金快讯1 天前
区块链宕机致爆仓提现延迟成常态,Matrixdock交易平台能扛住重压吗?
区块链