ERC20 기반 토큰 'YOONSUNG'을 처음으로 발행하다!

안녕하세요! 제이정입니다.

어제 제가 크립토 커뮤니티를 통해 1년여간 벌어 온 수익을 처음으로 공개했는데요, 오늘은 약 2주 전에 발행한 저의 토큰을 소개해보려고 합니다.



ERC20 토큰 제작 계기


저는 ERC20 토큰을 이용해 운영하는 다양한 프로젝트들을 보면서 저만의 이더리움 기반의 ERC20 토큰을 하나쯤은 가져보고 싶다는 생각을 했었고, 거래용이라기보다 이더리움 네트워크의 한 블록에 마치 역사처럼(?) 남기를 바라는 마음에서 토큰 제작 방법을 공부하게 되었습니다.

이전에 Contract creation에 드는 비용이 만만치 않을 거라 생각해서 시도조차 해보지 않았는데, 막상 자료들을 찾아보고 제작해보니 가스비 정도밖에 안 들더라구요. 그래서 스캠 토큰이 그렇게 판을 쳤나 싶어서 제가 기존에 모았다고 좋아했던 다양한 토큰들 중 메리트가 없다고 판단되는 토큰들은 전부 다른 계정으로 넘기거나 소각조치했습니다.

현실을 깨닫게 된 느낌이에요. ㅋㅋ 실제로 보이는 프로젝트에만 몰두하자라는 생각이 들었죠.



윤성 토큰에 관한 정보


어쨌든, 윤성 토큰 (YOONSUNG)은 ‘ROK | Yoonsung, Jeong’이라는 이름을 가진 저만의 ERC20 토큰입니다.

최초 생성은 7,424,169번째 블록에서 진행이 되었고, 토큰의 개수는 저의 생일에 맞게 940,930개를 발행했습니다. (딱히 쓸 일은 없지만 이왕 하는거 19,940,930개를 발행할 걸 그랬네요… ㅋㅋ)




기존 이더리움 개발 오픈소스를 이용하여 특별한 수정 없이 (컨트랙트 작성을 통한) 소각 기능만 제거하였고, 이후 저의 정보들은 주석을 이용하여 코드 맨 아래 부분에 담았습니다. 이는 블록체인 네트워크에 저의 정보를 직접적으로 올렸다기보다는 이더리움 네트워크를 통해 토큰을 제 개인 지갑으로 전송함으로써 그 전송 기록을 남기고, 실질적인 정보 확인은 Token contract 내의 verified code를 들여봐야만 가능하다라고 생각하면 될 것 같아요.

어쨌든 좋은 기회였다고 생각하고, 혹시 ERC20 토큰 제작에 관심이 있으시다면 이더리움 공식 홈페이지에서 오픈소스를 따오셔서 Remix나 기타 프로그램을 통해 쉽게 제작하실 수 있으니 확인해보시기 바라요. (자세한 정보는 구글에!)

마지막으로, 제 윤성 토큰 코드와 주소를 남기고 글을 마치도록 하겠습니다!



YOONSUNG Token Code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
pragma solidity >=0.4.22 <0.6.0;

interface tokenRecipient {
function receiveApproval(address _from, uint256 _value, address _token, bytes calldata _extraData) external;
}

contract Yoonsung_Jeong {
string public name;
string public symbol;
uint8 public decimals = 18;
uint256 public totalSupply;

mapping (address => uint256) public balanceOf;
mapping (address => mapping (address => uint256)) public allowance;

event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed _owner, address indexed _spender, uint256 _value);
event Burn(address indexed from, uint256 value);

constructor(
uint256 initialSupply,
string memory tokenName,
string memory tokenSymbol
) public {
totalSupply = initialSupply * 10 ** uint256(decimals);
balanceOf[msg.sender] = totalSupply;
name = tokenName;
symbol = tokenSymbol;
}

function _transfer(address _from, address _to, uint _value) internal {
require(_to != address(0x0));
require(balanceOf[_from] >= _value);
require(balanceOf[_to] + _value >= balanceOf[_to]);
uint previousBalances = balanceOf[_from] + balanceOf[_to];
balanceOf[_from] -= _value;
balanceOf[_to] += _value;
emit Transfer(_from, _to, _value);
assert(balanceOf[_from] + balanceOf[_to] == previousBalances);
}

function transfer(address _to, uint256 _value) public returns (bool success) {
_transfer(msg.sender, _to, _value);
return true;
}

function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
require(_value <= allowance[_from][msg.sender]);
allowance[_from][msg.sender] -= _value;
_transfer(_from, _to, _value);
return true;
}

function approve(address _spender, uint256 _value) public
returns (bool success) {
allowance[msg.sender][_spender] = _value;
emit Approval(msg.sender, _spender, _value);
return true;
}

function approveAndCall(address _spender, uint256 _value, bytes memory _extraData)
public
returns (bool success) {
tokenRecipient spender = tokenRecipient(_spender);
if (approve(_spender, _value)) {
spender.receiveApproval(msg.sender, _value, address(this), _extraData);
return true;
}
}

/* Name: Yoonsung, Jeong (정윤성, 鄭允盛)
DOB: 1994.09.30
Gender: Male
POB: Daejeon, Republic of Korea
Nickname: Zay, Jeong
E-Mail: yuon1233@gmail.com
Blog: https://y8ncastle.tistory.com
Github: https://github.com/Yoonsung-J
Degree: Bachelor's Degree (Hanbat National University, ROK)
Major: Information and Communication Engineering

** Created this information on Ethereum Network on 23rd March 2019. */
}



https://etherscan.io/token/0x56f3709e27cf7631f4971e48cc4eefce04384675



2019년 4월 21일 갱신




기존에는 내 정보를 윤성 토큰 소스코드 내에만 포함하였는데, 오늘 7,609,819번 블록에서 새로운 데이터를 만들며 다시 한번 정보를 갱신했다.

윤성 토큰 내의 소스코드는 수정이 불가능하기 때문에 데이터를 포함한 이더리움을 해당 주소로 전송하여 Transfer 리스트를 계속해서 추가해나가려고 했지만 해당 주소로는 이더리움 전송이 불가능하여 부계정으로 0 이더리움을 전송하면서 변환시킨 16진수 Hex 값을 Input Data에 포함시켰다. 해당 정보는 UTF-8 방식으로 바꾸어 확인할 수 있었다.

앞으로 블록체인에 기록할만한 업적을 이룬다면 그 때 또 새로 추가해야겠다.



변경된 정보 Hex Code

1
0x312e20ec9db4eba68420284e616d65290a2d20eca095ec9ca4ec84b12028596f6f6e73756e67204a656f6e672c20e984ade58581e79b9b290a0a322e20ec839deb8584ec9b94ec9dbc202844617465206f66204269727468290a2d20313939342e30392e33300a0a332e20ec84b1ebb384202847656e646572290a2d20eb82a8ec84b120284d616c652c20e794b7290a0a342e20ecb69cec839deca7802028506c616365206f66204269727468290a2d20eb8c80ed959cebafbceab5ad2c20eb8c80eca08420284461656a656f6e2c2052657075626c6963206f66204b6f7265612c20e5a4a7e99f93e6b091e59c8b290a0a352e20eb8b89eb84a4ec9e8420284e69636b6e616d652c20456e676c697368204e616d65290a2d20eca09cec9db4eca09520285a6179204a656f6e67290a0a362e20ec9db4eba994ec9dbc2028452d4d61696c290a2d207a6172636834383934406e617665722e636f6d0a2d2079756f6e3132333340676d61696c2e636f6d0a0a372e20eab09cec9db820ec9bb92028506572736f6e616c20576562290a2d20687474703a2f2f79386e636173746c652e646f74686f6d652e636f2e6b722028ec9e84ec8b9c2c2054656d70290a0a382e20ebb894eba19ceab7b82028426c6f67290a2d2068747470733a2f2f79386e636173746c652e746973746f72792e636f6d0a0a392e20eab983ed9788ebb88c2028476974687562290a2d2068747470733a2f2f6769746875622e636f6d2f596f6f6e73756e672d4a0a0a31302e20ed9599ec9c842028446567726565290a2d20eb8c80eca084eb9194ecb29cecb488eb93b1ed9599eab59020eca1b8ec9785202844756e6368656f6e20456c656d656e74617279205363686f6f6c2c20477261647561746564290a2d20eb8c80eca084eba78ceb8584eca491ed9599eab59020eca1b8ec978520284d616e6e79656f6e204d6964646c65205363686f6f6c2c20477261647561746564290a2d20ec849ceb8c80eca084eab3a0eb93b1ed9599eab59020eca1b8ec9785202853656f6461656a656f6e2048696768205363686f6f6c2c20477261647561746564290a2d20eab5adeba6bd20ed959cebb0adeb8c80ed9599eab5902034ed9599eb8584202848616e626174204e6174696f6e616c20556e69766572736974792c20347468204772616465290a0a31312e20eca084eab3b520284d616a6f72290a2d20eab3a0eb93b1ed9599eab590203a20ec9e90ec97b0eab384ec97b4202848696768205363686f6f6c203a204e61747572616c20536369656e6365290a2d20eb8c80ed9599eab590203a20eca095ebb3b4ed86b5ec8ba0eab3b5ed95992028556e6976657273697479203a20496e666f726d6174696f6e20616e6420436f6d6d756e69636174696f6e20456e67696e656572696e67290a0a0aec9ca4ec84b120ed86a0ed81b02027594f4f4e53554e4727ec9d8020ec9db4eb8d94eba6acec9b8020eb84a4ed8ab8ec9b8ced81ac20ec9c84ec979020455243323020eab8b0ebb098ec9cbceba19c20ec839dec84b1ed959c20ec9594ed98b8ed9994ed8f90eba19c2c2027eca095ec9ca4ec84b127ec979020eab480ed959c20eca095ebb3b4eba5bc20ec868cec8aa4ecbd94eb939cec979020ed8faced95a8ed9598eab3a020ec9e88eb8ba42e0a0aecb59cecb48820eab8b0eba19deb909c20eca095ebb3b420ec9db4ed9b84ec979020ebb380eab2bdeb909c20ec82aced95adec9d8020ec8388eba19cec9ab420ebb894eba19dec979020eca080ec9ea5eb90a020eab283ec9db4eba9b02c20ec9db4eb8a9420ec9ca4ec84b120ed86a0ed81b020eca084ec86a120eab8b0eba19d20eba6acec8aa4ed8ab820eb82b420ed98b9ec9d802054784861736820eab280ec8389ec9d8420ed86b5ed95b420ed9995ec9db8ed95a020ec889820ec9e88eb8ba42e0a0a0a594f4f4e53554e4720746f6b656e20697320612043727970746f63757272656e6379207768696368206973206261736564206f6e20457468657265756d202845524332302920616e642069742068617320696e666f726d6174696f6e2061626f75742027596f6f6e73756e672c204a656f6e672720696e2069747320736f7572636520636f64652e0a0a546865206e657720616368696576656d656e7420696e206d79206c6966652077696c6c206265207265636f72646564206f6e20616e6f7468657220626c6f636b20616e642062652061626c6520746f20636865636b20697420627920736561726368696e6720594f4f4e53554e4720746f6b656e207472616e73666572207265636f7264206f72205478486173682e0a0a0a2a2a20ecb59cecb48820ec9e91ec84b1203a2032303139eb85842033ec9b94203233ec9dbc2028ebb894eba19d2037343234313639290a2a2a20ecb59ceca28520ec8898eca095203a2032303139eb85842034ec9b94203231ec9dbc0a0a2a2a2054686520666972737420637265617465642064617465203a2032337264204d6172636820323031392028426c6f636b2037343234313639290a2a2a204c61737420757064617465203a203231737420417072696c2032303139



https://etherscan.io/tx/0x4fe675723a5ebaa66bf05ba2865e23a0e4ed412273d7eacfee65c3f5cc835b21



2020년 1월 29일 갱신




학위 변동에 따른 내용을 9,371,179 번째 블록에 데이터로 추가하였다.



변경된 Hex Code

1
0x00312e20ec9db4eba68420284e616d65290a2d20eca095ec9ca4ec84b12028596f6f6e73756e67204a656f6e672c20e984ade58581e79b9b290a0a322e20ec839deb8584ec9b94ec9dbc202844617465206f66204269727468290a2d20313939342e30392e33300a0a332e20ec84b1ebb384202847656e646572290a2d20eb82a8ec84b120284d616c652c20e794b7290a0a342e20ecb69cec839deca7802028506c616365206f66204269727468290a2d20eb8c80ed959cebafbceab5ad2c20eb8c80eca08420284461656a656f6e2c2052657075626c6963206f66204b6f7265612c20e5a4a7e99f93e6b091e59c8b290a0a352e20eb8b89eb84a4ec9e8420284e69636b6e616d652c20456e676c697368204e616d65290a2d20eca09cec9db4eca09520285a6179204a656f6e67290a0a362e20ec9db4eba994ec9dbc2028452d4d61696c290a2d2079386e636173746c65406b616b616f2e636f6d0a2d207a6172636834383934406e617665722e636f6d0a2d2079756f6e3132333340676d61696c2e636f6d0a0a372e20eab09cec9db820ec9bb92028506572736f6e616c20576562290a2d2068747470733a2f2f79386e636173746c652e73796e6f6c6f67792e6d650a0a382e20ebb894eba19ceab7b82028426c6f67290a2d2068747470733a2f2f79386e636173746c652e746973746f72792e636f6d0a0a392e20eab983ed9788ebb88c2028476974687562290a2d2068747470733a2f2f6769746875622e636f6d2f596f6f6e73756e672d4a0a0a31302e20ed9599ec9c842028446567726565290a2d20eb8c80eca084eb9194ecb29cecb488eb93b1ed9599eab59020eca1b8ec9785202844756e6368656f6e20456c656d656e74617279205363686f6f6c2c20477261647561746564290a2d20eb8c80eca084eba78ceb8584eca491ed9599eab59020eca1b8ec978520284d616e6e79656f6e204d6964646c65205363686f6f6c2c20477261647561746564290a2d20ec849ceb8c80eca084eab3a0eb93b1ed9599eab59020eca1b8ec9785202853656f6461656a656f6e2048696768205363686f6f6c2c20477261647561746564290a2d20eab5adeba6bd20ed959cebb0adeb8c80ed9599eab59020eca1b8ec9785202848616e626174204e6174696f6e616c20556e69766572736974792c20477261647561746564290a2d20ec849ceab095eb8c80ed9599eab59020eb8c80ed9599ec9b902031ed9599eab8b02028536f67616e6720556e69766572736974792c203173742053656d6573746572290a0a31312e20eca084eab3b520284d616a6f72290a2d20eab3a0eb93b1ed9599eab590203a20ec9e90ec97b0eab384ec97b4202848696768205363686f6f6c203a204e61747572616c20536369656e6365290a2d20eb8c80ed9599eab590203a20eca095ebb3b4ed86b5ec8ba0eab3b5ed95992028556e6976657273697479203a20496e666f726d6174696f6e20616e6420436f6d6d756e69636174696f6e20456e67696e656572696e67290a2d20eb8c80ed9599ec9b90203a20ecbbb4ed93a8ed84b0eab3b5ed959920284772616475617465205363686f6f6c203a20436f6d707574657220456e67696e656572696e67290a0a0aec9ca4ec84b120ed86a0ed81b02027594f4f4e53554e4727ec9d8020ec9db4eb8d94eba6acec9b8020eb84a4ed8ab8ec9b8ced81ac20ec9c84ec979020455243323020eab8b0ebb098ec9cbceba19c20ec839dec84b1ed959c20ec9594ed98b8ed9994ed8f90eba19c2c2027eca095ec9ca4ec84b127ec979020eab480ed959c20eca095ebb3b4eba5bc20ec868cec8aa4ecbd94eb939cec979020ed8faced95a8ed9598eab3a020ec9e88eb8ba42e0a0aecb59cecb48820eab8b0eba19deb909c20eca095ebb3b420ec9db4ed9b84ec979020ebb380eab2bdeb909c20ec82aced95adec9d8020ec8388eba19cec9ab420ebb894eba19dec979020eca080ec9ea5eb90a020eab283ec9db4eba9b02c20ec9db4eb8a9420ec9ca4ec84b120ed86a0ed81b020eca084ec86a120eab8b0eba19d20eba6acec8aa4ed8ab820eb82b420ed98b9ec9d802054784861736820eab280ec8389ec9d8420ed86b5ed95b420ed9995ec9db8ed95a020ec889820ec9e88eb8ba42e0a0a0a594f4f4e53554e4720746f6b656e20697320612043727970746f63757272656e6379207768696368206973206261736564206f6e20457468657265756d202845524332302920616e642069742068617320696e666f726d6174696f6e2061626f75742027596f6f6e73756e672c204a656f6e672720696e2069747320736f7572636520636f64652e0a0a546865206e657720616368696576656d656e7420696e206d79206c6966652077696c6c206265207265636f72646564206f6e20616e6f7468657220626c6f636b20616e642062652061626c6520746f20636865636b20697420627920736561726368696e6720594f4f4e53554e4720746f6b656e207472616e73666572207265636f7264206f72205478486173682e0a0a0a2a2a20ecb59cecb48820ec9e91ec84b1203a2032303139eb85842033ec9b94203233ec9dbc2028ebb894eba19d2037343234313639290a2a2a20ecb59ceca28520ec8898eca095203a2032303230eb85842031ec9b94203238ec9dbc0a0a2a2a2054686520666972737420637265617465642064617465203a2032337264204d6172636820323031392028426c6f636b2037343234313639290a2a2a204c61737420757064617465203a2032387468204a616e756172792032303230



https://etherscan.io/tx/0x01834b05cf510baa5d3b27928d637ff453e0cd08adc907f3ced4e7e2b4d5d9bd

ERC20 기반 토큰 'YOONSUNG'을 처음으로 발행하다!

https://y8ncastle.world/2019/04/07/crypto-community/yoonsung-token/

Author

Alec J

Posted on

2019-04-07

Updated on

2021-02-09

Licensed under