【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/中查看所有交易
相关推荐
im_AMBER31 分钟前
Leetcode 98 从链表中移除在数组中存在的节点
c++·笔记·学习·算法·leetcode·链表
jamesge201032 分钟前
kafka学习笔记
笔记·学习·kafka
巧克力味的桃子38 分钟前
Spark 课程核心知识点复习汇总
大数据·分布式·spark
_李小白41 分钟前
【AlohaMini学习笔记】第一天:初见AlohaMini
笔记·学习
starsky_walker1 小时前
【论文阅读笔记】--SOSP2025--Proto: A Guided Journey through Modern OS Construction
论文阅读·笔记
sunfove1 小时前
光学笔记:景深(Depth of Field)与焦深(Depth of Focus)
笔记
KhalilRuan1 小时前
操作系统-笔记
笔记
一个响当当的名号1 小时前
lectrue20 比较用C和HLL实现OS的优劣
笔记
Java 码农1 小时前
RabbitMQ集群部署方案及配置指南05
分布式·rabbitmq
中屹指纹浏览器2 小时前
指纹浏览器网络隔离技术详解:IP绑定与泄漏防护的实现方案
经验分享·笔记