Autore: Rich Paul
Data:
To: libbitcoin
Oggetto: [Libbitcoin] Newbie question --
I am trying to convert 256 bit key to words and back again.
When I convert back, I get something that is not only completely different,
but even a different size.
Any suggestions?
------- ckey.cc
#include <coinfwd.hh>
#include <bitcoin/bitcoin.hpp>
#include <algorithm>
#include <cxxabi.h>
using std::hex;
using std::array;
using namespace bc;
using namespace std;
ostream &operator<<(ostream &ostream, const ec_compressed &data) {
return ostream << sizeof(data) << ": " << bc::encode_base16(data);
};
template<size_t _n>
ostream &operator<<(ostream &ostream, const std::array<unsigned char,_n>
&data) {
return ostream << sizeof(data) << ": " << bc::encode_base16(data);
};
using libbitcoin::wallet::decode_mnemonic;
int main(int, char**) {
try {
auto seed1 = base16_literal(
"f3c8f9a6891cca98f481edde130cc031b1479a81e367b838fe9e0a9db0f5993d"
);
auto list = bc::wallet::create_mnemonic(seed1);
auto seed2 = decode_mnemonic(list);
cout << "seed1: " << seed1 << endl;
cout << "seed2: " << seed2 << endl;
return 0;
} catch ( const exception &ex ) {
cerr << "exception: " << ex.what() << endl;
} catch ( ... ) {
cerr << "caught shit!" << endl;
};
return 1;
};
------------------ output
seed1: 32: f3c8f9a6891cca98f481edde130cc031b1479a81e367b838fe9e0a9db0f5993d
seed2: 64:
ac43de3950b6e6064463d7649484ff7be9bfce9f456f05222445c6782cd12e053a0ba60ba73b5a555a4764bbd45f47e50c520d49bc08aae0088b4945784ee31b