【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/中查看所有交易
相关推荐
小小娥子2 小时前
rabbitmq高级特性(1):消息确认,持久性,发送方确认和重试机制
分布式·rabbitmq
TT哇4 小时前
【Java】数组的定义与使用
java·开发语言·笔记
走,我们去吹风5 小时前
redis实现分布式锁,go实现完整code
redis·分布式·golang
清 晨5 小时前
Web3的去中心化社交网络:区块链技术如何改变互动方式
web3·去中心化·区块链
黑叶白树6 小时前
包和模块(上) python复习笔记
开发语言·笔记·python
L_Z_J_I6 小时前
超子物联网HAL库笔记:多指针定位+循环收发缓冲区方案设计
笔记
我是水怪的哥6 小时前
一些有用的科研数据网站
经验分享·笔记
Ivanqhz6 小时前
Spark RDD
大数据·分布式·spark
zhilanguifang7 小时前
ERC论文阅读(02)--SAC;-LSTM论文阅读笔记
论文阅读·笔记·lstm
搬砖的小码农_Sky7 小时前
什么是区块链?
区块链