안녕하세요. 초밥매니아입니다.
개인적으로 ICO를 준비하던 도중에 이더리움 뿐만 아니라 비트코인도 입금받고 싶다는 생각이 들었습니다. 결제 화폐가 다양하면 아마 그만큼 투자자가 더 생길 것인데, 그러면 투자자로부터 결제받는 지갑 주소는 어떻게 준비해야할까요? (아참... 물론 이 모든걸 수동으로 사람이 다 일일이 확인해서 지급하겠다고 한다면... 말리지 않겠습니다만... ICO 정도 할때는 입금받아서 자동으로 토큰 분배하는 정도는 되어야 실무자들이 편하지 않을까 생각해봅니다~)
이더리움은 입금을 받는 경우 payer 함수 부분에 msg.sender 로 누가 이더리움을 보냈는지 확인이 가능하며 토큰 또한 바로 지급이 가능합니다. 이더리움으로만 ICO 투자를 받는다면 관계없겠지만 비트코인까지 받는 경우 어떤 구조로 결제를 받아야 좋을까요?
예를 들어 엑셀렌트 토큰(EXL)이라는걸 ICO 한다고 생각해봅시다.
처음에는 비트코인 하나의 주소를 만들어 여기 입금하기 전 준비된 ICO 웹사이트에서 투자자분들의 비트코인 주소를 입력하라고 합니다. 아래는 투자자 3명이 입금한 경우를 표현하고 있습니다.
이런 경우 문제는 투자자1이 InVesTor1 이라는 주소의 소유자인걸 어떻게 확인하느냐가 큰 문제가 됩니다. 어뷰징하려는 투자자4가 이 세상에 노출된 모든 비트코인 주소를 전부 입력해둔 경우 모든 투자 보상 토큰이 투자자4에게 전달되기 때문입니다.
불가피하게 아래처럼 비트코인 결제 전용 주소를 일회용으로 생성할 수 밖에 없습니다. 이를 위해선 bitpay 와 같은 업체의 API를 사용할 수 있겠지만 그렇게 되면 여러분은 ICO 투자금의 1%를 bitpay 에 지불하게 됩니다. 1%의 수수료가 투자금이 작은 경우는 부담이 안되겠지만 투자금이 큰 경우에는 1% 조차도 아끼고 싶을 것입니다.
직접 결제 전용 주소를 생성하는 건 예전에 제가 써둔 글을 참고하시면 좋습니다. blockchain.info 에서 제공하는 API를 사용하면 wallet 내 입금 주소를 무한히 발행할 수 있습니다.
이제 필요한건 투자자1, 2, 3이 비트코인 입금을 완료한경우 보상 토큰을 지급하는 것인데 제가 만든 코인스노티파이 API를 통해 http callback을 받아 처리할 수 있습니다.
이번에 ICO 용으로 원활한 사용을 위해 주소를 추가할때 라벨을 붙이도록 기능을 소소히 추가했습니다. 아래 링크의 주소 등록 부분부터 살펴보시면 됩니다.
https://coinsnotify.com/doc.php#address_add
코인스노티파이 등록 주소가 1,000개를 돌파하고 비트코인 입금알림이 약 1,500 건을 달성하게 되었습니다. 이런 와중에 코인스노티파이가 어떻게 사용되면 좋을지 고민하다가 ICO 도구로 사용되면 좋겠다 싶어서 고민한 끝에 라벨을 추가하게 됐습니다. 물론... 라벨하나 추가하는게 무슨 ICO 도구냐 할 수 있지만... 제가 생각하기에 가장 코드를 적게 고치면서 제일 효율이 좋은 방법으로 개선해봤습니다.
땡글에서 ICO 준비하시는 분들께서 이더리움으로만 결제받지말고 비트코인도 입금받아서 모두 ICO에 성공하셨으면 좋겠습니다~
-------------------------------------
꼬리말
* 게시글 내용 삭제시 레벨 강등
* 질문은 각 주제별 게시판에.
비트코인 암호화화폐 커뮤니티 땡글~ 땡글~
-------------------------------------