hELLO.

hELLO.

    Go 언어로 블록체인 메인넷 만들기 - 거래#1

    이번 포스트에서는 거래를 다룬다. 이전 포스트에서 트랜잭션을 이야기하면서 유일한 거래를 만든 것이 바로 코인베이스 트랜잭션인데, 코인베이스 트랜잭션은 입력 값이 없기 때문에 일반적인 거래라고 보기는 어렵다. 따라서 이번 포스트에서는 실제 거래처럼 두 주체가 대금을 지불하고, 잔액을 돌려주는 것을 해볼 것이다. UTXO(Unspent Transaction Output) UTXO, 즉 소비되지 않은 거래 출력 값은 거래에서 반드시 이해해야 하는 개념이다. 처음 이 개념을 접한다면 이해하기 어려울 수도 있다. 나의 경우는 이 개념을 이해하기 위해 다소 오랜 시간이 걸렸다. 먼저 소비(Spent)에 대해 생각해보자. 소비라는 것은 내가 가지고 있는 자금을 다른 주체에게 지불하는 행위를 말한다. 소비를 하려면 먼..

    Go 언어로 블록체인 메인넷 만들기 - 트랜잭션(Transaction)

    이번에는 블록체인의 구성요소 중 또 하나의 요소인 트랜잭션을 만들어보자. 트랜잭션을 이해하기 제법 시간이 걸렸는데, 포스트를 적어가면서 하나씩 풀어나갈 생각이다. 현재 이 포스트는 트랜잭션의 초입부분이며 이후에 거래, 공개키와 개인키 등 다뤄야 할 내용이 또 있다. type Transaction 트랜잭션은 기본적으로 Block 에 포함된다. 우리가 Data 라는 필드를 블록에 포함시켰었는데 그것 대신에 거래들이 포함될 예정이다. 트랜잭션은 하나의 거래다. 현실세계에서 일어나는 거래를 어떻게 표현할 수 있을까? 비트코인에서 제시하는 거래의 아이디어는 제법 흥미롭다. 먼저 거래는 입력 값(Input Transaction)과 출력 값(Output Transaction)이 있다. 하나의 트랜잭션은 다수의 입력과..

    Go 언어를 공부하기 위한 자료 및 문서 정리

    Go 이 포스트는 블로그내 Go 카테고리의 목차와 Go 언어를 할 때 참고하면 좋은 문서를 일부 정리해놓기 위해 작성되었다. Go 언어는 성장하고 있으며, 한국어 자료들도 어느정도 나오고 있기 때문에 내 블로그를 포함한 한국어 자료들을 어느정도 정리해놓으면 나름대로 도움이 될 것이다. 내가 Go 언어를 선택한 이유 내가 Go 언어를 선택한 이유 어서와 Go 내가 수년간 마주한 PHP 를 보내고 잡은 언어는 Go 다. 많은 이들이 알다시피 현재 범용 프로그래밍 언어로써 가장 많이 쓰인다고 볼 수 있는 것이 자바라는 사실은 부정할 수 없을 것이 pronist.tistory.com 이 포스트의 내용은 주기적으로 업데이트 될 것이며 블로거 본인이 가지고 있는 Go 언어에 대한 이해도가 높아질수록 새로운 내용이 ..

    개발자의 연봉 상승 모멘텀, ―그리고 환상

    공무원 그만두고 코딩 공부해요 뉴스 기사에서도 그렇고 정말 지겨울 정도로 매일같이 어딜 가나 개발자들의 연봉이 상승했다는 이야기가 나돌고 있는 지금, 하던 일을 그만두고 개발자로 전향하려는 사람들이 늘었다. 기사에서는 맨날 어느 기업의 개발자 연봉이 2천만 원 상승했다느니, 이직하면 연봉을 두 배로 쳐준다느니 하는 이야기를 하고 있는데, 그런 기사들은 사실이라고는 하더라도 자극적이고 비개발자에게 너무 환상만 심어지는 것 같아서 개인적으론 불편하기 그지없다. 개발자가 아닌 다른 직업군이 상대적 박탈감을 느낀다는 등 이야기하고 있으나 현실을 보면 마냥 그렇지만은 않은데 말이다. 기사에서는 다른 직업군에 비해 개발자가 더 많이 받는 것처럼 말하고 있는데, 실은 다른 직업군에서도 따지고 보면 상대적으로 위에 있..

    비트코인: 비트코인 코어 빌드 및 JSON-RPC 사용해보기(feat. 윈도우)

    비트코인 코어 블록체인을 본격적으로 공부하면서 빼먹을 수 없는 것이 비트코인인지라 비트코인의 참조구현인 Bitcoin Core 를 나름 반나절이 걸려 드디어 빌드에 성공하여 블로그에 남겨보기로 했다. WSL(Windows Subsystem Linux)를 써서 할까 했었다가 Microsoft Visual Studio 를 통해서도 빌드가 가능한 듯하여 시도해보았다. github.com/bitcoin/bitcoin bitcoin/bitcoin Bitcoin Core integration/staging tree. Contribute to bitcoin/bitcoin development by creating an account on GitHub. github.com 비트코인 소스를 git clone 으로 다운받..