首页 > 其他分享 >2.区块链系列之部署合约

2.区块链系列之部署合约

时间:2022-10-29 15:59:52浏览次数:73  
标签:favoriteNumber 部署 uint256 钱包 测试 区块 合约 public

本文介绍从零至一采用Remix工具,使用Solidity语言开发,部署合约至rinkeby测试网,对于主网部署只需切换网络即可。

https://remix.ethereum.org/

1. 编写SimpleStorage.sol合约

// SPDX-License-Identifier: MIT 协议指定,否则会警告
pragma solidity 0.8.7; // 指定solidity版本号

// 智能合约名
contract SimpleStorage {
    uint256 favoriteNumber = 666;

    // map定义每个人喜欢的数字
    mapping(string => uint256) public name2FavoriteNumber;

    // 结构体
    struct People {
        uint256 favoriteNumber;
        string name;
    }

    // 数组
    People[] public people;

    // 存储消耗gas
    function store(uint256 _favoriteNumber) public {
        favoriteNumber = _favoriteNumber;
    }

    // 对于view的获取不消耗gas
    function retrieve() public view returns(uint256) {
        return favoriteNumber;
    }

    function addPerson(string memory _name, uint256 _favoriteNumber) public {
        people.push(People(_favoriteNumber, _name));
    }
}

假设读者已经有了MetaMask钱包账号,注意请使用测试账号,请勿使用暴漏主网钱包私钥!!!!

2. MetaMask相关配置

1)进入MetaMask钱包,点击以太坊主网络,然后Show/hide test networks,选择目前推荐的Goerli测试网络
2)目前测试网络中没有ETH,我们需要或取测试用ETH,以供支付部署合约所需gas费用

访问https://faucets.chain.link/,连接钱包,验证后就可以获取到测试用的0.1
GoerliETH

1

钱包确认后过一会可以看到如下图所示,部署成功。下图左侧可以进行进行函数的操作

2

可以在浏览器中看到合约地址:
https://goerli.etherscan.io/tx/0x5a0937bc87f1b7fd6c74dc1496664856982dd0a2a94bde0de930af66d1ea9b8e#statechange

3

欢迎关注公众号算法小生沈健的技术博客查看最新文章

标签:favoriteNumber,部署,uint256,钱包,测试,区块,合约,public
From: https://www.cnblogs.com/shenjian-online/p/16838889.html

相关文章

  • 3.区块链系列之智能合约FundMe
    本文继续用Remix工具部署学习智能合约,通过具体案例来深入学习solidity语法1.编写PriceConverter.sol//SPDX-License-Identifier:MITpragmasolidity^0.8.7;import......
  • 4.区块链系列之本地环境从0到1部署智能合约
    本文讲解使用本地开发工具编写、部署智能合约。准备环境VisualStudioCodeNode安装solidity插件,如图所示:同理安装Prettier-Codeformatter插件安装插件后,重启......
  • 7.区块链系列之hardhat框架部署合约
    先前讲解的本地部署只能合约的方式编码较多,现在我们介绍目前比较流行的智能合约框架hardhat1.环境准备yarninityarnadd--devhardhatyarnhardhatnpminstall--sa......
  • 6.区块链系列之本地智能合约部署至测试网与主网
    1.注册登录alchemyhttps://www.alchemy.com/在面板中我们看到Goerli网络,然后点击viewkey,如下图所示拷贝http替换.env中的RPC_URL=http://127.0.0.1:7545配置2.导出......
  • 5.区块链系列之私钥管理
    本文讲解如何对私钥加密处理以及部署后需注意的事项1.新建encryptKey.jsconstethers=require("ethers");constfs=require("fs-extra");require("dotenv").config......
  • 9.区块链系列之hardhat框架测试合约
    先前我们讲解了如何部署智能合约,今天我们来对合约进行测试,这是非常重要的一部分,毕竟一旦部署后不可变,如果测试不充分,那么黑客就不会客气了1.单元测试在test目录下新建te......
  • 8.区块链系列之hardhat框架部署合约(二)
    现在我们来实践hardhat部署合约中的其他更多技术要点1.代码方式验证合约注册https://etherscan.io/,如下图添加拷贝API_KEY在.env文件中新增ETHERSCAN_API_KEYE......
  • 10.区块链系列之hardhat部署抵押赎回Fund合约
    本文继续通过笔者学习到的抵押赎回智能合约Fund来进一步学习solidity语言,加深对开发的理解,其中通过storage节省gas是需要重点实践的,毕竟涉及到资产代码已提交至https://gi......
  • RabbitMQ 进阶 -- 阿里云服务器部署RabbitMQ集群
    一、为什么要搭建RabbitMQ集群?未部署集群的缺点如果RabbitMQ集群只有一个broker节点,那么该节点的失效将导致整个服务临时性的不可用,并且可能会导致message的丢失(尤其是在非......
  • 私网部署DNS(BIND)笔记
    准备工作下载yuminstall-ybindbind-utils包含dig、nslookup等调试命令,非必须。yuminstall-ybind-utils防火墙firewall-cmd--permanent--add-port=53/udpfir......