-
지갑 주소로 화이트리스 구현프로그래밍/강좌 2022. 6. 26. 16:13728x90반응형
영상링크: https://www.youtube.com/watch?v=cWM3704pUns
mapping 을 사용했습니다.
단순한 형태로 작성한거구요
솔리디티 코드:
// SPDX-License-Identifier: GPL-3.0 // 0x281725fc1AD9AEDeFb8ADb1f4572E97CA918ED00 pragma solidity >=0.7.0 <0.9.0; contract Storage { mapping(address => uint) private map_addr; bool use_whitelist = true; uint count = 0; constructor() { address a = 0x1e0A33d97f7793035704F5B0d896c631fb47BbE4; add_whitelist(a); } function is_whitelist(address addr) public view returns(uint) { return map_addr[addr]; } function is_whitelist_2() public view returns(uint) { return map_addr[msg.sender]; } function add_whitelist(address a) public { require(map_addr[a] == 0); map_addr[a] = 1; } function del_whitelist(address a) public { require(map_addr[a] != 0); // map_data[a] = 0; delete map_addr[a]; } function set_use_whitelist(bool b) public { use_whitelist = b; } function mint_a() public { if(use_whitelist) { require(is_whitelist_2() != 0); } count++; // _mint(no, link); } }반응형