Conversion from transaction with base 64 psbt to raw/serialized hexadecimal
In this article, we will study the conversion process of the 64 coded PSBT transaction (binary programming files) in RAW and Serialized (HEX) format. We will use the CLI Bitcoin Core Cli as our tool set.
assumptions
- Knowing the foundations of bitcoins and its blockchain architecture.
- Understanding PSBT and Base64 coding standards.
Step 1: Base conversion 64 PSBT transaction to RAW
In order to transfer the PSBT transaction coded Base64, we need to use the “PSBT” Command Command command. The converttopsbt
command is used for this purpose. Here is an example of how to use it:
`Bash
Bitcoincore-Cli Converttopsbt
Replace
for the actual PSBT Base64 transaction coded as seen at the output of the bitcoin core.
Step 2: Transformation of raw transaction into serialized hexadecimal
After transferring the RAW PSBT transaction, we must transfer it to its series (HEX) format. For this purpose, we can use a tool as a “psbt” or use a certool library.
Here is an example of how to convert a raw transaction from the CLI bitcoin core:
`Bash
Bitcoincore-Cli Cintool
Replace
for a real raw transaction, as seen at the output of the bitcoin core.
Step 3: Compare and check
In order to ensure the correct conversion process, we can compare the Base64 PSBT transaction coded using a serial (hex) equivalent:
`Bash
Bitcoincore-Cli Cintool
This command will lead to a hard transaction from the original coded transaction base64.
Exit Exit
Here is an example of a journey from the above steps using a fictitious PSBT transaction as entry:
`Plaintext
Base64-coded PSBT transaction
Psbt (“1.3.0”, {
“Coding”: “Base64”,
“ScriptSig”: [“010100000000000000000000000000000S”],
“Blocknumber”: “100000”,
“Transactionindex”: “500000”
})
`
conversion code
Here is a simple python script to convert from base64 to raw and then serialized hex:
`Python
Import on base 64
Import JSON
DEF BASE64_TO_TSB (BASE64_TRANSACTION):
Use PSBT command line that provides bitcoin core
Output = Bitcoincore-Cli Converttopsbt (Base64_TRANSACTION)
RETURN JSON.LADS (EXIT)
DEF TSB_TO_RAW (TSB_JSON, CONDING = “BAS64”):
Use a Cintool library to convert from RAW to Hexadecimal
If coding == “RAW”:
Return Cointool (TSB_JSON, “HEX2RAW”)
Elif Coding == “HEX”:
Return Cointool (TSB_JSON, “HEX2RAW”)
Exemplary use
BASE64_TRANSACTION = “PSBT (\” 1.3.0 \ “, {\” CODING \ “: \” Base64 \ “, \” ScriptSig \ “: [\” 0101000000000000000000000000000 “, \” blocknumber \ “:” 100000 “100000”, 100000 “, 100000” “\” Transactionindex \ “: \” 500000 \ “})
TSB_JSON = BASE64_TO_TSB (BASE64_TRANSACTION)
RAW_HEX = TSB_TO_RAW (TSB_JSON, Condoding = “HEX”)
Print (RAW_HEX)
output:
`
In this example, the code is first transferred to the PSBT Base64 transaction to Python using JSON.Loads ()
. Then use the Cointool library to transfer from RAW to HEX. The result is printed as raw and serialized (hex) transactions.
Conclusion
Transformation between coded and raw/serialized (HEX) formats between Base64 into the core of bitcoin contains two steps: first, conversion of PSBT transaction from Base64 to RAW; Second, conversion of a raw transaction to its series (hex) equivalent. This process can be achieved using various tools and libraries provided by the Bitcoin core CLI.