Bootstrap

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

编写合约

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

    • 数据存储: 使用了 mappingarray 两种方式存储用户信息。
    • addUser: 添加用户(id和对应的用户名name)到区块链。
    • getid: 根据用户 id 获取用户名。该函数是 view 类型,表示它不会修改区块链状态。在这里插入图片描述
// 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/中查看所有交易
    在这里插入图片描述
;