BlockChain Tech
-
SmartContract Transaction에 대하여BlockChain Tech 2020. 6. 7. 00:47
GroundX Klip에서 가입 이벤트로 50Klay를 지급하였다. 하지만, '50 Klay'의 출처에 대한 이야기가 올라오기 시작 했고, '아이스크림 내기'를 만들며 살펴보았던 Contract에 대하여 설명하고 싶어 글을 적었다. 하지만, 글을 작성하기 위해 검증을 하다보니 다시금 의문에 빠져버렸다. 글에서 Internal Transaction과 nonce에 대하여 언급했는데 기존에 내가 가지고 있던 개념이 틀렸다는 것을 깨닫고, 다시 그것을 공부하다 나름대로? 많은 것을 깨닫고 재미있었기에 글로 정리해보려고 한다. 시작하기전에 Klip에서 지급하는 50Klay 출처를 찾기 위해, 꽤나 많은 시도를 했다. 처음에는 내가 만든 Contract와 비슷한 기능(토큰 송금 그 외 기록)을 하고 있다고 믿었기 ..
-
Klaytn SmartContract로 `내기 | 복권` 만들어보기 리뷰BlockChain Tech 2020. 6. 3. 18:51
오늘 Klaytn 지갑 클립이 출시 되었고, 가입 유저들에게 50 Klay가 지급 되었다. 조만간? 선물로 받은 50 Klay 사용처가 없을 것 같았고, 무언가 새로운 것을 만들어보고 싶어 45% 당첨확률 아이스크림내기 Contract를 만들어보기로 다짐하고, 반차를 사용하였다. 정확히 난 무엇을 어떻게 만들고 싶은 가? 처음 내게 창조의 욕구를 준 것은 유저들이 받는 50Klay 였다. 사실 약 8천원이라는 돈은 현금화 하기에는 굉장히 껄끄러운 돈이라고 생각한다. 작은돈도 아닌데. 고생해서 현금화하면 이동 간에 가격차이가 발생하고 또, 출금수수료가 든다. 게다가 코인에 대한 경험이 없는 일반 유저라면 이 과정은 더 힘들 것이다. 하지만 작은 돈들도 모으면 큰 돈이 된다고 생각했다. 그렇게 기부 or 내..
-
Transaction Data 살펴보기 (feat. ABI)BlockChain Tech 2019. 4. 10. 12:13
Transaction을 구성하는 여러가지 요소들이 있다. 대부분 쉽게 이해할 수 있는 반면, Data라는 친구는 명확하게 어떤 것을 해주는 항목인지 알기 힘들다. 오늘은 Transaction의 Data가 어떤 역할을 하는지 알아보도록 하자. Transaction의 구성요소 nonce: 해당 계좌에서 발생된 Transaction의 수 from: receive address to: sender address value: 수신자에게 보내는 Ether 수량 gas limit: 가스의 최대 사용량 gas price: 가스 가격 data: 가변길이의 바이너리 데이터 v, r, s: ECDSA 서명 구성 요소 Transfer Transaction var transaction = { nonce: web3.toHex(n..
-
[Klaytn] Contract Execution (feat. Fee Delegated)BlockChain Tech 2019. 4. 6. 22:32
지난 번 글에서 Klaytn의 대(신)납(부) 기능 중 'FEE_DELEGATED_VALUE_TRANSFER'를 살펴보았다. 이번 글에서는 Klaytn IDE가 아닌, Java Script에서 Klaytn Contract 실행 그리고, 컨트랙트 호출 대납을 실행해보려고 한다. 기본 Base 코드는 Klaytn Tutorial 'Count App(링크)'를 사용했다. 이전 글과 대부분 겹치기 때문에 자세한 설명은 생략! (이전 글 링크) [1 Step] Normal Contract Execution setPlus = async () => { const userPrivateKey = '0xb83edaf89879b3c615bb6019af65313984812aa94dce7ca5b5d8abef899c1141' c..
-
[Klaytn] 대(신)납(부) 기능 (feat. Fee Delegated)BlockChain Tech 2019. 4. 6. 16:02
Klaytn 대학(원)생 간담회에 참석을 하고, Klaytn에 대한 소개를 들었을 때. 가장 관심이 있었던 부분은 수수료에 대한 부분을 누군가 대신납부 할 수 있다는 것이였다. 많은 게임 업체 혹은 서비스 업체들이 이더리움 대신 이오스를 택하는 것이 대부분 '수수료'의 문제라고 생각하기 때문이다. Klaytn Private Testnet이 종료 되고, Public Testnet인 Baobab(배오뱁!)이 시작 되었기 때문에 실제로 '대납'이 어떻게 이루어지는지 간략하게 정리 해보자! Klaytn Docs에 위 기능이 필요한 이유가 영어!로 서술 되어 있다. 처음 이 기능에 대한 이야기를 들었을 때는 별다른 고민 없이 'SmartContract를 작성 할 때, 무언가 추가 하겠군.' 이라고 생각했지만 사실..
-
ERC-721 살펴보기BlockChain Tech 2019. 3. 31. 18:28
ERC-721 - Non-Fungible Token(대체 불가능한 토큰) 이다. 대체 불가능하다는 것은 무엇일까? 기존 ERC20과 비교해서 생각해보면 쉬울 것 같다. ERC721 의 경우 mapping 타입의 변수[토큰 아이디] = 주소 를 대입한다. ERC20 의 경우 mapping 타입의 변수[주소] = 양 을 대입한다. ERC20의 경우 토큰의 성질이 없기 때문에 아래의 공식이 성립한다. 류짱의 지갑 류쨩토큰(ERC20) 10개 = 당신의 지갑 류쨩토큰(ERC20) 10개 ERC721의 경우 토큰의 성질이 존재 하기 때문에 위의 공식은 성립되지 않는다. 성질이라는 표현이 엄청나 보이는 것 같지만, 사실 [토큰 아이디] 하나 뿐이다. 실제 CryptoKitty의 경우, [토큰 아이디] 와 Kitty..
-
ERC-165 살펴보기BlockChain Tech 2019. 3. 29. 17:51
ERC-165 - SmartContract에 구현되어 있는 인터페이스를 게시하고, 검색하는 표준 매소드를 만든다. 쉽게 생각해보면, 해당 SmartContract에 내가 사용해야할 'function hungry(string food)'라는 함수가 있는지 검색할 수 있는 함수를 구현하는 것이 ERC-165이다. 어떻게 작동하는지 소스코드를 살표보자. 썩 복잡한 코드는 아니였고, 사용하기 쉽고 효율적인 코드라고 생각되지도 않았다. (물론, 구현 해놓으면 사고 예방에는 좋긴 할 것이다.) (1) _registerInterface를 통해 interfaceId를 등록하고, (2) supportsInterface를 통해 해당 interface 즉, 함수가 있는지 확인한다. interfaceID이란? interfac..
-
블록체인 Oracle ProblemBlockChain Tech 2019. 1. 2. 11:24
Oracle의 뜻 (Naver 사전) 1. (고대 그리스에서) 신탁을 받는 곳 2. (고대 그리스에서) 신탁 3. 귀중한 조언을 주는 사람출처 : ZetaWiki 델포이 신탁블록체인의 OracleOracle이라는 말을 듣고 가장 먼저 생각난 것은 다국적 기업 ‘Oracle’이였고, 그 다음은 매트릭스의 Oracle 아주머니가 생각 났다. 아쉽게도 블록체인에서 Oracle은 이것들과 관계가 없었다.Oracle은 OFF-Chain(블록체인 밖)상의 데이터를 On-Chain(블록체인)으로 가지고 오는 것을 의미한다.즉, Oracle이란 A 블록체인이 아닌 곳에서 일어나는 각종 사건, 사고에 대한 데이터를 A 블록체인으로 가지고 오는 것이다. ‘10월 10일 서울의 날씨’, ‘B 블록체인의 Transaction..