안녕하세요. 


저는 공주대학교 컴퓨터공학부 컴퓨터소프트웨어전공 17학번 문승현입니다. 


현재 블록체인 기술에 대해 공부를 하여 공부한 내용을 정리하고자 게시글을 작성하였습니다. 


미리 읽어주시는 분들께 감사하며 잘못된 지식이 있을 경우 마음 편하게 피드백주시면 감사하겠습니다.


g-coin 분석(0) : http://blog.hubeen.kr/337

g-coin 분석(1) : http://blog.hubeen.kr/339


벌써 분석(2)라니 뿌듯함을 감출 수 없습니다!!!


오늘 게시글에서는 실제로 서버에서 소스코드를 작동을 시켜 사용을 해볼 예정입니다.


저는 골빈님께서 올려주신 Insomnia라는 툴을 사용하지 않고 포스트맨이라는 툴을 사용하였습니다.


서버 구동


python3 app.py --port 5000


위와 같이 실행을 하게 되면 아래와 같이 메세지가 띄어졌다면 서버가 실행된것입니다!



 * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)



아, 저는 app.py의 코드를 외부 접속도 허용하게 실행하여 0.0.0.0 으로 메세지가 떴지만 다른 분들은 127.0.0.1로 뜨실 겁니다 !


서버를 실행을 성공적으로 하셨다면 이제 이것저것 쇼핑하듯이 구경해볼까요?!


채굴(mine)

채굴에 대한 링크는 서버 주소:5000/mine [post] 를 하면 된다고 깃허브에 나와있습니다!

한번 포스트맨을 이용하여 채굴을 해볼까요?


http://서버주소:5000/mine 으로 post를 쏴보니 채굴이 되었음을 볼 수 있습니다.



{

    "block": {

        "header": {

            "difficulty": 1,

            "previous_hash": "64fb44605fe924d910fc285a72f2b8d9220fd4cff755510b6e0e6c476f4cae4e",

            "proof": 11,

            "timestamp": 1520200361.470756

        },

        "transactions": [

            {

                "amount": 1,

                "recipient": "0e5d1ef7e4a944b2be47c1913dea0c8f",

                "sender": "0"

            }

        ]

    },

    "message": "New block is mined!"

}



보낸이는 "0"으로 신 혹은 관리자가 0e5d1ef7e4a944b2be47c1913dea0c8f 주소로 1을 보내준 것을 볼 수 잇네요!

그리고 메세지에 새로운 블럭이 채굴되었다라는 것도 보이네요!

블럭에 대한 헤더는 어려움을 1, 그리고 채굴 전의 초기 블럭 생성이 되었으니 그 초기 블럭의 해쉬를 이전 해쉬 값에 들어간것도 보이네요!


자 그러면 채굴이 되었다면 현재 블록체인이 어떻게 되어있는지 구경하러가볼까요?


블록체인 (chain)

현재 모든 체인이 어떻게 이어져있는지 보도록 하겠습니다.

GET 파라메터로 http://서버주소:5000/chain 을 하시면 됩니다.


초기 블럭과 현재 아까 채굴한 블럭이 이어져있는 것을 볼 수 있으며 전체 갯수는 2개라는 것을 볼 수 있습니다.


거래 (transaction)

이제 거래를 해보도록 해볼까요?!
먼저 신이 hubeen 주소로 1024개를 보내는 것을 해보도록 하겠습니다

보내는데에는 post 형식으로 http://서버주소:5000/transaction 을 하시면 됩니다.

신 혹은 관리자가 거래 전송


네, 이제 보내졌는지 거래 기록에 제대로 기록이 되었는지 확인해보죠!


거래 확인

거래 확인은 GET 파라메터로 http://서버주소:5000/transaction 을 하시면 됩니다.



[

    {

        "amount": 1024,

        "recipient": "hubeen",

        "sender": "0"

    }

]



현재 거래 기록에 보낸이는 "0"으로 신 혹은 관리자가 받는이 hubeen에게 1024개를 보낸 것이 거래 기록에 잘 저장되있음을 볼 수 있습니다.


이제 hubeen이 postman에게 500개를 전송하는 것을 다시 해보도록 하죠!


hubeen->postman 500개 전송


네! 잘 보내진 것을 볼 수 있습니다.

거래 확인



네, 이렇게 코드 리뷰하고 서버에서 실제로 실행하여 확인을 하는 것까지 하였습니다.

이걸로 g-coin은 마무리하며 더 재밌고 괜찮은 코드를 발견하게 되면 그것도 작성하도록 하겠습니다.


읽어주셔서 감사합니다.


'0x30 Study > 0x32 Blockchain' 카테고리의 다른 글

g-coin 분석(1)  (1) 2018.03.03
g-coin 분석(0)  (0) 2018.03.01
BlockChain을 공부하자! (0)  (62) 2018.02.28

+ Recent posts