화이트리스트 설정하는 함수를 만들고 있는데 텍스트 파일에 있는 주소를
address배열로 집어넣을수있나요? 어떻게 하면 될지 모르겠습니다.
일달 array보다는 mapping 을 사용하시는것을 권장드립니다.
solidity contract 내부에
mapping(address => bool) private whitelisted
형태로 넣어주시고
컨트랙트에 addWhitelist 함수를 만드신다고 가정하면
function addWhitelist(address user) public onlyOwner {
whitelisted[user] = true;
}
이런식으로 구현하시면 되고, 내부에서 체크할때는
if 문이나 require 등으로 true 여부 확인하시면됩니다.
위의 addWhitelist 함수를 컨트랙트에 만들어서 발행하신 경우 node.js에서 텍스트파일에 있는 주소값을 string으로 불러와서 caver 로 컨트랙트 인스턴스 생성하신다음에 위의 메소드를 불러서 주소 하나씩 넣어주시면 됩니다.
질문에 답변되셨길 바랍니다. 감사합니다.
1 Like
Array는 index를 이용해야하기때문에 주소로 화이트리스트 여부를 알기위해서는 루프를 돌려서 데이터에서 확인하셔야되는 반면 mapping을 쓰시면 주소가 화이트리스트 되어있는지 boolean 형태로 지정가능해 차후 수정도쉽고 검색도 용이합니다.
답변되셨길바랍니다.
1 Like