본문으로 바로가기

Libbitcoin을 설치후 Bitcoin의 최초 Genesis 블록에 Satoshi Nakamoto가 삽입한 문자열을 출력하는 프로그램을 작성해 보겠습니다. 

작성코드는 github 에서 다운받을수 있습니다.


다음 코드를 작성하여 satoshiwords.cpp로 저장하도록 합니다.


#include <bitcoin/bitcoin.hpp>
using namespace bc;
int main()
{
// Extracting Satoshi's words from genesis block.
const auto block = bc::chain::block::genesis_mainnet();
const auto& coinbase = block.transactions().front();
const auto& input = coinbase.inputs().front();
BITCOIN_ASSERT_MSG(input.script().size() > 2u, "unexpected genesis");
const auto headline = input.script()[2].data();
std::string message(headline.begin(), headline.end());
bc::cout << message << std::endl;
return EXIT_SUCCESS;
}


다음과 같이 빌드합니다.


$ g++ -std=c++11 -o satoshi satoshiwords.cpp $(pkg-config --cflags libbitcoin --libs libbitcoin)


실행결과는 다음과 같습니다.



Bitcoin의 최초 Genesis 블록의 Input script에는 다음과같이 위의 문자열이 삽입되어있는것을 확인할수 있습니다.


https://blockchain.info/tx/4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b?show_adv=true


이와같이 Libbitcoin 라이브러리를 사용하여 다양한 비트코인 서비스를 어플리케이션 레벨에서 작성을 할수가 있습니다.