【p2p、分布式,区块链笔记 Blockchain】truffle004 测试网络项目部署

编写合约

  • 一个简单的Solidity智能合约 Usermap 用于在以太坊区块链上管理用户的ID和名称:

    • 数据存储 : 使用了 mapping 和 array 两种方式存储用户信息。
    • addUser : 添加用户(id和对应的用户名name)到区块链。
    • getid : 根据用户 id 获取用户名。该函数是 view 类型,表示它不会修改区块链状态。
javascript 复制代码
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.22;

contract Usermap {

    mapping(uint256 => string) public id_of_name;

    struct User {
        uint256 id;
        string name;
    }

    User[] public users;


    function addUser(uint _id,string memory _name) public {
        users.push(User(_id, _name));
        id_of_name[_id] = _name;
    }

    function getid(uint256 _id) public view returns (string memory) {
        return id_of_name[_id];
    }
}

编译

部署

  • 链接钱包
  • 支付合约部署的gas费用

部署完成

  • 可在IDE中直接调用测试:
  • 合约地址为 0xb1771477289aFFC26314C500371434f812211602,可在https://sepolia.basescan.org/中查看所有交易
相关推荐
Z21-X15 分钟前
云原生运维学习笔记:容器技术的演进、底层原理与 Docker 全生命周期管理
运维·笔记·学习·云原生
Rabitebla8 小时前
【Linux 底层原理】进程(十):进程等待详解---从僵尸进程到 wait、waitpid 与 status
linux·c++·笔记·学习·visual studio
小lu飞9 小时前
2026小红书小工具怎么制作:纯前端 ZIP 打包、沙箱限制与笔记挂载流程
前端·笔记·ai·ai编程
无心水13 小时前
24、系统架构师论文写作专题 核心考点与学习笔记
笔记·学习·系统架构·架构师·安全架构·软考架构师·软考系统架构设计师
蒸蒸yyyyzwd13 小时前
邓明 Agent 系统面试-意图识别学习笔记
笔记·学习
Bczheng116 小时前
四十六.创建一笔交易(9)--第三个区块 添加tx到钱包
区块链
Zhao-Jichao16 小时前
AI Prompting for Everyone 课程笔记 - P21 总结 Conclusion
人工智能·笔记
欢欢李16 小时前
【LTE L3 笔记 05】LTE同步信号
笔记·无线通信·物理层·lte·空口协议
La Pulga18 小时前
【FreeRTOS源码学习笔记】空闲任务与阻塞延时
笔记·mcu·学习·嵌入式·freertos·实时操作系统
蒸蒸yyyyzwd18 小时前
秋招学习笔记 day106
笔记·学习