[가상화폐] 이오스 컨트랙트를 삭제하는 법을 알아보자

da2iokM.jpg
(대문은 @carrotcake 님께 의뢰하였습니다)

이오스는 스마트 컨트렉트(자동 계약서), 그리고
각종 정보들을 올리는 공간이 제한되어 있습니다.

마치 온라인 저장 서비스처럼 용량을 사서 써야되죠.

일반인들은 자신이 누군가에게 서비스를 제공하기
위한 프로그램이나 정보를 올릴 일이 없기 때문에
이는 거의 영향이 없지만
앱을 만들어 올리는 개발자들에게 램 공간은
꽤나 신경써야하는 문제죠.

사는것 말고 재활용도 그렇습니다.
램을 산후 스마트 컨트렉트 같은 걸 올렸다고 합시다.
그럼 200kb를 사서 180kb를 썼는데
사람들이 그닥 사용을 안한다면..
해당 서비스는 접어야 할 일이 생길지도 모릅니다.

그럴때 200kb를 다시 팔거나 아니면
새로운 것을 올려야겠죠.

그런데 여기서 의문이 생깁니다.

지우는게 가능한가?

블록체인은 한번 올리면 삭제가 불가능하죠.
그래서 이더리움의 스마트 컨트렉트는 한번 올리면
다른 내용으로 바꾸기 위해선 새로 주소를 파서
새로 올리는 수밖에 없습니다.

그리고 새로운 컨트랙트 주소를 공지하죠.

이오스는 다릅니다.
내용이 바뀌었다고 새로운 계정을 공지하는게 아니라
같은 계정내에서 컨트랙트를 교체합니다.

이는 실제로 블록체인의 내용을 변경하는건 아니고
계정과 연결된 컨트랙트 주소를 끊고
새로운 주소랑 연결하는 개념일겁니다.. (아마..-ㅅ-;)

고로 어딘가에 180kb 의 자료를 업로드하고 연결중이었다가
필요없어지면 연결을 끊는 식이겠죠 (아마-ㅅ-)

근데 제가 못찾아서인지 쉽게 된 명령어가 없더군요.
정식 지갑에서 set code를 이용하는 방법은 못찾았고
eosjs라는 보조(?)측에서 제거하는 방법만 찾았습니다.

그걸 알아봅시다.

dP655Kv.png
먼저 컨트랙트를 업로드할 계정을 만들었습니다.
my.contracts 라는 이름으로 했고
만들자마자 들어간 기본램은 2.66kb 입니다.
계정의 기본정보를 담고 있고 계정을 지우는 방법이
없으므로 저 용량은 돌려받지 못합니다..;ㅁ;

lJ6aAUd.png
에어드랍등을 할때 필요한 토큰을 만드는 컨트랙트 파일입니다
이오스 기본 프로그램에 기본으로 들어있습니다.
저걸 올립니다

xjmwH1R.png
메가랑 기가하고 놀때랑 달리 kb 에도 손이 떨립니다.
무려!! 185kb 나 증가했습니다!

참고로 현재
QyGE4E9.png
185kb는 30 이오스에 육박합니다.
똥값이 된 현재의 이오스 가격 5천원을 대입해도
15만원이죠..-0- ㅎㄷㄷ
해운대 깡패들에게 파라솔 자릿세 뺏기는 기분이군요

근데 이게 다가 아닙니다.
이건 단순히 골격을 올린것뿐입니다.

토큰을 만드는 컨트랙트라면 단순히 토큰을 뿅하고
만들고 끝나는게 아니라 토큰을 가진 사람 명단이
다 적혀있습니다.
쉽게 말하면 텅빈 주소록 프로그램만 달랑 올린거라고
봐야죠.
이제 고객들 명단 채워나가면서 용량이 점점 늘게 되는겁니다

그래서 한번 토큰을 만들고 발행해보겠습니다.

토큰을 만든다는 것도 또 기본틀입니다.
예를들어N'발행 권한 계정'N'총발행가능 갯수'N'명칭'
이런것을 먼저 정하는거죠.

RKDo9pS.png
my.token 이라는 계정을 또 하나 만들어서
발행가능한 권한을 줬습니다.
이 총 발행수량 10000개가 한계인 GOD 토큰은
이제 저 계정만이 발행할 수 있습니다

my.contracts 계정은 단순히 컨트랙트 저장용 계정이
되는 것이죠.

lZCxKHl.png
또다시 my.guest라는 계정을 만들어서 걔한테
1000 GOD을 발행해줬습니니다.

Hd3wmcg.png
그리고 발행결과 0.2kb 가 증가하게 되었습니다.
얘뿐만 아니라 뜬금없이
ELePjWw.png
발행자도 램이 0.23kb 정도 증가하게 되는데

@alienzin 님의
🔗[EOS] 에어드랍에 필요한 자원(RAM) 사용량 계산하기
포스팅을 참고하시면 이유가 뭔지 나옵니다.
여튼 여기선 복잡해지니까 얘는 생까고..

다시 발행해보는데 같은애한테 발행하면
새로운 인물 추가가 안되서 용량이 안늘어나니까
또 새로운 계정에게 줬습니다.

어... 죄송함다
9uMCFof.png
고객정보는 발행하는 애한테 쌓이는거 였군요-ㅅ-
이게 바로 실시간 생방송 포스팅의 위엄!!
(컨트랙트 계정은 그 용량 그대로..)

자 다음은 대망의 컨트랙트 삭제입니다.

NHKOtch.png
명령어를 모르겠으니까 편법으로 eosjs란걸 썼습니다

cXCjQ9y.png
그리고 짜잔~
188.5kb를 싸그리... 는 삭제 못하고

기본 계정 정보 + 토큰 기본 정보 + 토큰 발행자 정보

가 남게 됩니다.
zUV3n0b.png
이렇게 말이죠.

이렇듯 컨트랙트를 지운다해도
컨트랙트 업로드와 별개로 이용하면서 쌓이는 정보는
용도가 끝나야만 삭제됩니다.
예를들어 A한테 100 GOD을 주면 그 정보는
A가 100 GOD을 딴데 전송시켜서 0 GOD 이 되면
자동으로 삭제가 되죠.

그래서 만약 에어드랍을 받았는 상황이라면
개발자가 토큰 컨트랙트를 삭제하고 튀더라도
여러분의 토큰 정보는 여전히 유효하게 표시된다는 거죠

그러나..
컨트랙트라는 것은 어떻게 작동하는지가 적혀 있는
계약이자 설명서입니다.

그래서 이것이 지워지면
이것을 참고하는 작동하던 모든 행동이 멈추게됩니다
즉, 이제 해당 토큰은 전송이 안되요-ㅅ-;;
그렇다고 완전 끝난건 아니고 해당 계정의 개발자가
다시 이전과 똑같은 컨트랙트를 올리면 재작동합니다

다음은 이러한 문제에 대해 좀더 알아보겠습니다

0
0
이 글을 페이스북으로 퍼가기 이 글을 트위터로 퍼가기 이 글을 카카오스토리로 퍼가기 이 글을 밴드로 퍼가기

블록체인 기술

번호 제목 글쓴이 날짜 조회수
149 가상화폐 새로운 다단계앱 Bancor3D를 알아보자 icon Work4Block 10-04 2,884
148 가상화폐 픽셀마스터의 현황과 오픈 스마트 컨트렉의 한계 icon Work4Block 10-02 2,962
147 가상화폐 혼종 다단계 이오스 픽셀마스터(pixel master)를 알아보자 icon Work4Block 09-30 3,654
146 정보 KEEP!T Column: 01. P2P 네트워크와 합의 알고리즘 icon Work4Block 09-27 2,917
145 정보 토렌트로 설명하는 블록체인 02 하드포크 icon Work4Block 09-20 2,235
144 정보 토렌트로 설명하는 블록체인 01 icon Work4Block 09-20 3,630
143 가상화폐 KEEP!T Column 비트코인 뽀개기(11편) icon Work4Block 09-15 3,058
142 정보 블록체인과 서비스에 대한 단상 icon Work4Block 09-10 2,524
141 가상화폐 할랄토큰 ERC-20 스왑 방법 icon Work4Block 08-31 2,477
140 가상화폐 이오스 스마트 컨트랙트는 믿을 수 있을까? icon Work4Block 08-30 3,865
139 가상화폐 [EOS과부하 시사점] DAPP들은 결국 퍼블릭체인(EOS,이더리움 등)에서 독립할 것이다. icon Work4Block 08-29 3,480
138 가상화폐 [메뉴얼] 엘라스토스지갑 BGX 에어드랍 가이드 (엘라스토스 DAPP 에어드랍) icon Work4Block 08-29 2,806
137 가상화폐 왜 이오스는 에어드랍이 죄다 제네시스 대상일까 icon Work4Block 08-28 2,433
136 가상화폐 이오스 나이츠 리뷰 01 icon Work4Block 08-27 2,241
135 가상화폐 제대로 된 최초의 블록체인 게임 이오스 나이츠의 의의 icon Work4Block 08-27 2,543
134 가상화폐 이오스 디도스 공격에 대한 약점노출 icon Work4Block 08-23 2,223
133 가상화폐 이오스 카지노 앱이 나왔습니다. icon Work4Block 08-22 4,061
132 가상화폐 이오스 램 알람 icon Work4Block 08-21 2,749
131 가상화폐 이오스 램 시장의 전망과 더러움 icon Work4Block 08-21 2,095
130 가상화폐 이오스 컨트랙트를 삭제하는 법을 알아보자 icon Work4Block 08-21 2,467