1. 程式人生 > >C++從零開始區塊鏈:區塊鏈業務模組之交易地址生成

C++從零開始區塊鏈:區塊鏈業務模組之交易地址生成

在比特幣中,為了避免地址重複、安全性等各種問題,比特幣的地址的生成過程是很繁瑣的。我們這裡由於只是學習其原理,一些實際中可能會遇到的問題就不予考慮了,將地址生成的過程最大程度的簡化。
簡化後的流程是:首先生成一對祕鑰,然後對公鑰取雜湊,再將雜湊轉成BASE64,最後生成的一組BASE64編碼的字串就是最終看到的地址了,程式碼很簡單,就兩行

std::string BlockChain::CreateNewAddress(const KeyPair &keyPair)
{
    std::string hash = Cryptography::GetHash(keyPair.pubKey
.key, keyPair.pubKey.len); return Cryptography::Base64Encode(hash.c_str(), hash.length()); }