자신만의 이더리움 토큰을 만들어보자 02
계약서(Contract)
이더리움에는 두가지 주소가 존재합니다.
첫번째는 계정주소..
우리의 계좌번호라고 보면 되죠.
지갑프로그램은 이곳에 접속해서 우리의 잔고를
알아내고 전송하고 합니다.
그리고 또 하나가
컨트렉트(계약) 주소입니다.
해당 주소에는 계약서가 놓여있습니다.
바로 어제 우리가 올린 코드가 바로 그 계약서입니다
해석하면 계약서 이름은 MyToken
이고
안에는 두가지 계약기능(function)이 들어 있습니다.
하나는 숫자를 받아서 그만큼 오리지널 토큰을 생성하는 것이고
나머지 하나는 그 오리지널 토큰을 전송하는 기능입니다
그래서 두번째 기능의 이름이 transfer
이죠
첫번째 기능은 계약서랑 이름이 같은데
계약서랑 이름이 같은 기능은 처음 업로드때 무조건
한번 실행되며 이후는 나타나지 않습니다.
이점을 이용해서 토큰 생성에 관한 기능을 여기다 넣는거죠
그외의 기능은
해당 계약서의 주소를 방문해서 임의로 호출할 수 있습니다.
위는 어려우니 조금만 쉽게 예를들면
contract 마법소녀 {
function 마법소녀( ){ 나랑 계약하자. 거부권은 없다. } function 발차기( ){ 상대를 마법의 힘으로 찬다 }
}
위의 경우는 마법소녀
라는 이름의 계약서입니다
이 계약서랑 똑같은 이름의 기능이 이미 하나 있죠
이건 업로드할때 다짜고짜 1회만 실행됩니다.
그러므로 1번만 실행해야되면서
따로 실행할 이유가 없는 것.. 이런걸 초기화라고 하죠
토큰생성이 딱 여기에 맞으니 이안에 코드를 넣습니다.
그리고 아래의 발차기
기능은 마법소녀가 되어
마법의 힘으로 악당을 조질때 씁니다.
이것은 수동으로 사용할 수 있는 기능입니다.
이런식으로..
코드란게 무슨 상상의 주문 같은게 아니라
각각 형식과 의미가 있다고만 알면 됩니다.
기능(function)
위에서 알아본 바와 같이 계약서에는
기능들을 첨부해서 올립니다.
근데 만약 기능을 첨부하지 않으면 어떻게 될까요?
예를들어 토큰 생성기능만 넣으면?
그럼 그 토큰은 불구토큰이 됩니다-ㅅ-
어제 실습에서 우리가 계약서를 올려봤는데
거기서 이부분이 토큰을 전송하는 기능입니다.
이게 없으면 이 토큰은 생성만 된채 아무것도
못하는 바보 토큰이 되죠.
토큰만 만들면 전송정도는 해줄거라 생각했다면
그건 완전히 경기도 오산입니다
모든 기능을 알아서 만들어야되죠.
그대신 기능에 대해서
무한한 자유가 부여되어 있습니다.
예를들면 이더를 받으면 자동으로 상대방에게
일정량 토큰을 준다거나
토큰을 ico가 끝날때까지 전송이 불가능하게
타이머 락을 건다거나
토큰을 받은 다음날 자동폭파된다거나..
이런 기능의 다양한 창조와 활용이
스마트 컨트렉트의 강점인 것입니다.
기능의 사용
그럼 기능의 사용은 어떻게 할것인가..
계약서내에서 하나의 기능이 다른 기능을
호출하게도 할 수 있지만
따로 기능을 수동으로 호출할 수도 있습니다
계약서 주소로 직접 접속해서 기능을 불러오는 것이죠
그래서 마이이더월렛에서 토큰을 전송할려면
토큰의 계약서 주소를 추가해줘야 되는 것입니다.
전송기능이 거기에 적혀있으니까요
기능에 대해선 이제 대충 알았으니
마지막으로
REMIX를 통해 기능을 수동으로 불러서 사용해보겠습니다.
https://ethereum.org/token
저번 포스팅처럼 예제들이 있는 곳에서
이번엔 두번째의
풀코드를 복사합니다.
그리고
여우지갑 로그인후
https://remix.ethereum.org
리믹스 사이트로 가서 붙여넣읍시다
단 복잡함을 피하기 위해 위의
decimals = 18
을 0으로 바꿔줍니다. 바꾸기 싫으면 안바꿔도 되고..
Run
탭으로 가서 Create
버튼이 있는 곳을 보면
어제보다 뭔가 좀 복잡해져 있습니다.
이번에 넣어야될것은 순서대로
발행량, 토큰이름, 토큰심볼
1000, "TWIN", "TW"
이걸 복사해서
그대로 붙여넣습니다
그리고 Create
저번 포스팅과 같이 컨트렉트주소를 복사해서
여우지갑에 토큰을 추가합니다.
주소만 추가해도
심볼과 0 이란 숫자가 자동으로 입력됩니다.
그리고 요 토큰을 클릭합니다.
그럼 토큰의 자세한 정보를 볼 수 있는 사이트로 갑니다
이거 그대로 놔두고..
다시 remix 탭으로 돌아와봅시다.
오른쪽 하단에
이 계약서가 무슨 기능들이 있는지 주루룩 보일겁니다.
입력창이 없는 파란색 버튼들을 하나씩 눌러보면
이렇게 정보를 보여주는 소기능이 작동합니다.
그리고 직접 토큰을 조작하는 진짜 기능들은
빨간색 버튼들입니다.
우린 여기서 Burn
기능을 사용해볼 것입니다.
Burn
은 소각, 즉 코인을 제거합니다.
우린 현재 1000개를 가지고 있는데
여기서 500개를 제거해보겠습니다.
500
을 입력한 뒤 burn
버튼을 누릅니다.
그리고 완료가 되면
아까 그 정보사이트로 가서 새로고침을 해봅시다
짜잔..-ㅅ-! 500개가 되었습니당!!
이번엔 토큰의 실체가 무엇인지
그리고 그 작동에 대한 비밀을 알아봤습니다.
다음편은 이러한 점을 이용한 새로운 기능,
ICO를 이용해서 실제로 토큰팔이를 해보겠습니다-0-/
hello south korea friend i created this meme for a laugh i hope you enjoy https://steemit.com/dmania/@newmarket65/check-this-one-out-haha
ha ha ha
와...
설명대로 했는데 정말로 코인이 만들어 졌읍니다.
대단합니다.
필요하시면 기념주화로 보내드릴께요.
감사합니다.
.
그런데 문의할게 있는데요...
이 토큰을 어디서 관리하나요?
만드는곳은 있는데 어디서 관리하는지...
관리자 페이지가 안보이네요...
I dont understand anything, but you have my upvote :)
아아...트윈코인의 시작은 여기서.. 성지글이 탄생하는군요
트윈코인을 안쓰면 역적이 될 시대가 올것입니다-ㅅ-
오 리스팀해갑니다 :)
감사합니다! +_+/
트윈님은 정말 대단하시다는 말 밖에는...
달리 표현할 방법이 없네요
(✪‿✪)ノ 감사합니다
대단하십니다.!! 트윗코인 가즈아~~ㅋㅋ
가즈아-0-/
와.. 1년전 친구와 농담삼아 코인을 만들어보자 했었는데 코인을 만들어주는 사이트 외에 이러한 코딩을 설명한 글은 처음 봅니다.
1편부터 봐야겠습니다. 다음편 기대할게요!
이더는 많은 이들의 사용이 목적이므로 누구나 만들수 있게 해놨습니다.
그래도 인터페이스가 쉬운건 아니죠.
하지만 smt는 이걸 버튼 몇번으로 구현하게 됩니다.
그 다음 주자는 더욱 쉽고 대중적으로 만들겠죠.
빠른 시간안에 누구나 토큰을 만들수 있는 시대가 올 것입니다.
흠..2화만에 트윈 코인이 반토막 났군요(절반 소각에도 가격은 그대로?)ㅋㅋㅋㅋㅋㅋ역시 상폐를 목적으로한 코인 답습니다..트윈님 포스팅 따라 ITC(Inverse Twin Coin) 토큰의 ICO를 해봐야겠네요ㅋㅋㅋ
소각하면 토큰이 희소해지기에 가격이 오르거든여-ㅅ-++
애초에 찾는 사람이 없으면 1000개나 500개나 희소성은..뭐...ㅋㅋㅋㅋ암튼 트윈님 저랑 계약하시죠..ㅋㅋㅋㅋ
꿀팁이네요 감사합니다
댓글 감사합니다 :D