Hubeen's Home



안녕하세요. 


저는 공주대학교 컴퓨터공학부 컴퓨터소프트웨어전공 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 분석(2)  (2) 2018.03.05
g-coin 분석(1)  (1) 2018.03.03
g-coin 분석(0)  (0) 2018.03.01
BlockChain을 공부하자! (0)  (0) 2018.02.28

Comment 2