mirror of https://github.com/bitcoin/bitcoin
parent
2920322871
commit
ae775b5b31
@ -0,0 +1,14 @@
|
|||||||
|
#ifndef __BITCOIN_CORE_IO_H__
|
||||||
|
#define __BITCOIN_CORE_IO_H__
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
class CTransaction;
|
||||||
|
|
||||||
|
// core_read.cpp
|
||||||
|
extern bool DecodeHexTx(CTransaction& tx, const std::string& strHexTx);
|
||||||
|
|
||||||
|
// core_write.cpp
|
||||||
|
extern std::string EncodeHexTx(const CTransaction& tx);
|
||||||
|
|
||||||
|
#endif // __BITCOIN_CORE_IO_H__
|
@ -0,0 +1,25 @@
|
|||||||
|
|
||||||
|
#include <vector>
|
||||||
|
#include "core_io.h"
|
||||||
|
#include "core.h"
|
||||||
|
#include "serialize.h"
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
bool DecodeHexTx(CTransaction& tx, const std::string& strHexTx)
|
||||||
|
{
|
||||||
|
if (!IsHex(strHexTx))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
vector<unsigned char> txData(ParseHex(strHexTx));
|
||||||
|
CDataStream ssData(txData, SER_NETWORK, PROTOCOL_VERSION);
|
||||||
|
try {
|
||||||
|
ssData >> tx;
|
||||||
|
}
|
||||||
|
catch (std::exception &e) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,15 @@
|
|||||||
|
|
||||||
|
#include "core_io.h"
|
||||||
|
#include "core.h"
|
||||||
|
#include "serialize.h"
|
||||||
|
#include "util.h"
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
string EncodeHexTx(const CTransaction& tx)
|
||||||
|
{
|
||||||
|
CDataStream ssTx(SER_NETWORK, PROTOCOL_VERSION);
|
||||||
|
ssTx << tx;
|
||||||
|
return HexStr(ssTx.begin(), ssTx.end());
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in new issue