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

编写合约

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

    • 数据存储 : 使用了 mappingarray 两种方式存储用户信息。
    • 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/中查看所有交易
相关推荐
鱼鳞_16 小时前
Java学习笔记_Day29(异常)
java·笔记·学习
九成宫18 小时前
IT项目管理期末复习——Chapter 8 项目质量管理
笔记·项目管理·软件工程
Flittly18 小时前
【SpringSecurity新手村系列】(3)自定义登录页与表单认证
java·笔记·安全·spring·springboot
Stella Blog18 小时前
狂神Java基础学习笔记Day04
java·笔记·学习
一只机电自动化菜鸟18 小时前
一建机电备考笔记(17) 常用设备—通用设备1(含考频+题型)
笔记·学习·职场和发展·生活·学习方法
bekote18 小时前
笔记|数据库
数据库·笔记
深蓝海拓18 小时前
基于QtPy (PySide6) 的PLC-HMI工程项目(十)框架初成的阶段总结
网络·笔记·python·学习·ui·plc
戏舟的嵌入式开源笔记19 小时前
LVGL部件应用笔记(基于正点原子教程,持续更新)
笔记
九成宫19 小时前
IT项目管理期末复习——Chapter 7 项目成本管理
笔记·项目管理·软件工程
_waylau21 小时前
鸿蒙架构师修炼之道-面向对象的分布式架构
分布式·华为·架构·架构师·harmonyos·鸿蒙