계약서(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 :)
오 리스팀해갑니다 :)
감사합니다! +_+/
좋은 글 감사합니다. 이런식으로 코인을 생성했을 때 전송 수수료는 어떻게 되나요?
가스비를 40 Gwei 정도, 1이더를 100만원 잡았을때
5만원 정도 나오는거 같습니다. (0.05이더)
;ㅁ;
와.. 1년전 친구와 농담삼아 코인을 만들어보자 했었는데 코인을 만들어주는 사이트 외에 이러한 코딩을 설명한 글은 처음 봅니다.
1편부터 봐야겠습니다. 다음편 기대할게요!
이더는 많은 이들의 사용이 목적이므로 누구나 만들수 있게 해놨습니다.
그래도 인터페이스가 쉬운건 아니죠.
하지만 smt는 이걸 버튼 몇번으로 구현하게 됩니다.
그 다음 주자는 더욱 쉽고 대중적으로 만들겠죠.
빠른 시간안에 누구나 토큰을 만들수 있는 시대가 올 것입니다.
아아...트윈코인의 시작은 여기서.. 성지글이 탄생하는군요
트윈코인을 안쓰면 역적이 될 시대가 올것입니다-ㅅ-
트윈님은 정말 대단하시다는 말 밖에는...
달리 표현할 방법이 없네요
(✪‿✪)ノ 감사합니다
대단하십니다.!! 트윗코인 가즈아~~ㅋㅋ
가즈아-0-/
흠..2화만에 트윈 코인이 반토막 났군요(절반 소각에도 가격은 그대로?)ㅋㅋㅋㅋㅋㅋ역시 상폐를 목적으로한 코인 답습니다..트윈님 포스팅 따라 ITC(Inverse Twin Coin) 토큰의 ICO를 해봐야겠네요ㅋㅋㅋ
소각하면 토큰이 희소해지기에 가격이 오르거든여-ㅅ-++
애초에 찾는 사람이 없으면 1000개나 500개나 희소성은..뭐...ㅋㅋㅋㅋ암튼 트윈님 저랑 계약하시죠..ㅋㅋㅋㅋ
꿀팁이네요 감사합니다
댓글 감사합니다 :D
이렇게 쉬운 설명이라니 ㅋㅋ 잘 보고 갑니다 !!
감사합니다 :D
사실 설명이 쉽진않은데 ㅎㅎ;
참새님 드뎌, 토큰 강좌까지! 멋지세요.
담에 제가 제 personal ICO 할때 ㅎㅎ 꼭 함께 해 주시길 바래요.
너무 신기하네요.
이제 연예인들, 아티스트 들 모두 자신의 화폐를 가지는 시대가 왔으면 좋겠어요.
너무 토큰이 난무하면 그건 그거대로 문제죠.
점점 토큰 만들기가 쉬워지면서 누구나 토큰을 만들 시대는
올것입니다. 하지만 몇개빼곤 싹다 정리되겠죠
아직 토큰에 대한 개념이 잘 명확하지 않은데 공부를 더 해야겟네요^^
좋은 글 잘 보고 갑니다.
저 역시 단순히 발행후 이더리움이 알아서 돌려주는건줄 알았는데
이더리움에 탑승한 다른 코인 지갑이랄까
꽤 재밌네요.
아...아니....나랑 계약하자....라뇨!!! /( ◕ ‿‿ ◕ )\
이더리움이 큐베를 마스코트로 내세웠으면 좋았을텐데=ㅅ=
흥미롭습니다~
다음이 더욱 기대가 됩니다.
새해 복 많이 받으세요~
감사합니다. 굿헬로님도 새해 복 많이 받으세요+_+/
.... 자신만의 이더리움 토큰을 만들겠다는 제목을 보고
트윈토큰 ico 해서 판다고 하시는거 아닌가 하는 생각이 들었는데 ..
정말 파실려고 하시는건가요???
(◕ᴥ◕)
good post
자...잠깐요? 발차기 토큰 ICO라니....
저.. 저건 예제임다.
ICO 대기중입니다 ㅋㅋㅋ
트님~ 안녕하세요~ 카톡에서 눈팅은 많이했는데, 이렇게 댓글은 처음 달아보는것 같아요. 채팅방에서와는 다르게 상당히 필력이 좋으시네요~
앞으로 자주 들르겠습니다. XP하고 RISE 어떻게 되나요? 둘다 들고있는데 답답하네요... ㅠㅠ
결론은 큐베가 발급하는 마법소녀 토큰은 받은 다음날 자동폭파되는군요!
전혀 아닙니다토큰 만드는법 잘 배우고 갑니다!
좋은 설명 감사합니다.
님 블로그 자기소개에는 초보라고 돼 있는데 초보가 아니라 빡고수인거 같아요
오.. 안그래도 이더리움 관련 책 사서 예제 연습해보고 있는데 이것도 매우 큰 도움이 될거같아요..!
뉴비 범블비입니다. 팔로우 해 놓고 항상 좋은 정보 많이 얻고 있습니다.
뉴비인 제가 오마이뉴스에 암호화폐, 블록체인 관련 기사를 쓰게 되었습니다. 읽어보시고 많은 가르침 부탁드립니다.
https://steemit.com/kr/@bumblebee2018/6kt6yk
앗;...아아 큐베와의 계약이라면...아아....
그렇게 계약한 마법소녀는 결국....
정말유용한 정보네요.
응원합니다.
조은정보 잘보고갑니다^^큰도움됫습니다~
와우 재밌게 잘 봤습니다! 신기하네요 엄청!
와우...++ 정말 놀랍다는 이야기밖에 못하겠는데요? 이렇게 수울수가 있나요?++ 문과생인 저도 좀 어렵지만 이해가 되는데... 하하하...+_+ 좋은 정보 감사합니다!
안녕하세요. Twinbraid님.. 뒤늦게나마 블록체인을 공부하며 Twinbraid님의 강좌를 보며 하나하나 보고 배우는 학생입니다. 강좌에 나온 소스코드를 토대로 수정을 다하고, 블록 생성까진 성공했는데, 구매 테스트를 하기 위해 Metamask를 활용하여 구매를 진행하려고하니 Transaction Error. Exception thrown in contract code. 라는 에러가 뜨네요 ㅠ 뭐가 문제인걸까요;;; 소스는 Remix에서 작업하였습니다.