Bitcoin Forum
May 06, 2024, 02:02:27 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Create Raw Transaction & Sign It without BitcoinCore?  (Read 202 times)
seoincorporation (OP)
Legendary
*
Offline Offline

Activity: 3150
Merit: 2930


Top Crypto Casino


View Profile
April 29, 2022, 09:05:01 PM
Merited by LoyceV (4)
 #1

Hello guys, the question is simple.

Do we need a bitcoin core to create and sign the transactions?

I'm sure we need a Bitcoin Node to push the transaction, but I was thinking about software to create, sign or decode transactions without the Node. To create a transaction is an algorithm where we have to input the TXID, VOUT, and the Amount. And to sign it we need the private key. And since the bitcoin core is open source there should be an alternative software to do it. But after hard research, I couldn't find anything.

Does anyone know if this is possible?

█████████████████████████
████▐██▄█████████████████
████▐██████▄▄▄███████████
████▐████▄█████▄▄████████
████▐█████▀▀▀▀▀███▄██████
████▐███▀████████████████
████▐█████████▄█████▌████
████▐██▌█████▀██████▌████
████▐██████████▀████▌████
█████▀███▄█████▄███▀█████
███████▀█████████▀███████
██████████▀███▀██████████
█████████████████████████
.
BC.GAME
▄▄░░░▄▀▀▄████████
▄▄▄
██████████████
█████░░▄▄▄▄████████
▄▄▄▄▄▄▄▄▄██▄██████▄▄▄▄████
▄███▄█▄▄██████████▄████▄████
███████████████████████████▀███
▀████▄██▄██▄░░░░▄████████████
▀▀▀█████▄▄▄███████████▀██
███████████████████▀██
███████████████████▄██
▄███████████████████▄██
█████████████████████▀██
██████████████████████▄
.
..CASINO....SPORTS....RACING..
█░░░░░░█░░░░░░█
▀███▀░░▀███▀░░▀███▀
▀░▀░░░░▀░▀░░░░▀░▀
░░░░░░░░░░░░
▀██████████
░░░░░███░░░░
░░█░░░███▄█░░░
░░██▌░░███░▀░░██▌
░█░██░░███░░░█░██
░█▀▀▀█▌░███░░█▀▀▀█▌
▄█▄░░░██▄███▄█▄░░▄██▄
▄███▄
░░░░▀██▄▀


▄▄████▄▄
▄███▀▀███▄
██████████
▀███▄░▄██▀
▄▄████▄▄░▀█▀▄██▀▄▄████▄▄
▄███▀▀▀████▄▄██▀▄███▀▀███▄
███████▄▄▀▀████▄▄▀▀███████
▀███▄▄███▀░░░▀▀████▄▄▄███▀
▀▀████▀▀████████▀▀████▀▀
1715004147
Hero Member
*
Offline Offline

Posts: 1715004147

View Profile Personal Message (Offline)

Ignore
1715004147
Reply with quote  #2

1715004147
Report to moderator
I HATE TABLES I HATE TABLES I HA(╯°□°)╯︵ ┻━┻ TABLES I HATE TABLES I HATE TABLES
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715004147
Hero Member
*
Offline Offline

Posts: 1715004147

View Profile Personal Message (Offline)

Ignore
1715004147
Reply with quote  #2

1715004147
Report to moderator
1715004147
Hero Member
*
Offline Offline

Posts: 1715004147

View Profile Personal Message (Offline)

Ignore
1715004147
Reply with quote  #2

1715004147
Report to moderator
1715004147
Hero Member
*
Offline Offline

Posts: 1715004147

View Profile Personal Message (Offline)

Ignore
1715004147
Reply with quote  #2

1715004147
Report to moderator
DaveF
Legendary
*
Online Online

Activity: 3472
Merit: 6263


Crypto Swap Exchange


View Profile WWW
April 29, 2022, 09:15:27 PM
 #2

Take a look at: https://github.com/ttutdxh-nubits/cointoolkit
Live version: https://nubits.com/cointoolkit/#newTransaction

There are a few others out there that use desktop python too.
Any reason you are trying to do this, or is it just something you want to try?

-Dave

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
khaled0111
Legendary
*
Offline Offline

Activity: 2520
Merit: 2853


Top Crypto Casino


View Profile WWW
April 29, 2022, 10:13:42 PM
 #3

Not sure I understood your question correctly or what you are trying to achieve, but any bitcoin wallet software/app can create transactions if it knows your addresses (which addresses to use) and can sign it if it has the private keys for those addresses.

However, if you want to specify, for example, which inputs to use (coin control) or specify the fee rate... then you need a wallet that support such features.
You can also use some tools such as coinb.in or the one suggested by DaveF.

█████████████████████████
████▐██▄█████████████████
████▐██████▄▄▄███████████
████▐████▄█████▄▄████████
████▐█████▀▀▀▀▀███▄██████
████▐███▀████████████████
████▐█████████▄█████▌████
████▐██▌█████▀██████▌████
████▐██████████▀████▌████
█████▀███▄█████▄███▀█████
███████▀█████████▀███████
██████████▀███▀██████████
█████████████████████████
.
BC.GAME
▄▄░░░▄▀▀▄████████
▄▄▄
██████████████
█████░░▄▄▄▄████████
▄▄▄▄▄▄▄▄▄██▄██████▄▄▄▄████
▄███▄█▄▄██████████▄████▄████
███████████████████████████▀███
▀████▄██▄██▄░░░░▄████████████
▀▀▀█████▄▄▄███████████▀██
███████████████████▀██
███████████████████▄██
▄███████████████████▄██
█████████████████████▀██
██████████████████████▄
.
..CASINO....SPORTS....RACING..
█░░░░░░█░░░░░░█
▀███▀░░▀███▀░░▀███▀
▀░▀░░░░▀░▀░░░░▀░▀
░░░░░░░░░░░░
▀██████████
░░░░░███░░░░
░░█░░░███▄█░░░
░░██▌░░███░▀░░██▌
░█░██░░███░░░█░██
░█▀▀▀█▌░███░░█▀▀▀█▌
▄█▄░░░██▄███▄█▄░░▄██▄
▄███▄
░░░░▀██▄▀


▄▄████▄▄
▄███▀▀███▄
██████████
▀███▄░▄██▀
▄▄████▄▄░▀█▀▄██▀▄▄████▄▄
▄███▀▀▀████▄▄██▀▄███▀▀███▄
███████▄▄▀▀████▄▄▀▀███████
▀███▄▄███▀░░░▀▀████▄▄▄███▀
▀▀████▀▀████████▀▀████▀▀
BitMaxz
Legendary
*
Offline Offline

Activity: 3248
Merit: 2965


Block halving is coming.


View Profile WWW
April 29, 2022, 10:24:46 PM
 #4

It seems that you didn't understand how does it work TXID only generate when you have already created a raw transaction it includes UTXO(unspent transaction), a destination address, change address, and the amount.

Like the above said this https://coinb.in/#newTransaction is the only known tool that you can create a raw transaction and sign through this https://coinb.in/#sign
You can also able to push the transaction through here https://coinb.in/#broadcast

If you want a guide check this How to create, sign and broadcast transactions using coinb.in

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
seoincorporation (OP)
Legendary
*
Offline Offline

Activity: 3150
Merit: 2930


Top Crypto Casino


View Profile
April 29, 2022, 10:37:41 PM
 #5

Take a look at: https://github.com/ttutdxh-nubits/cointoolkit
Live version: https://nubits.com/cointoolkit/#newTransaction

There are a few others out there that use desktop python too.
Any reason you are trying to do this, or is it just something you want to try?

Thanks a lot Dave, this was more than what I was looking for. I was looking for software to make transactions without bitcoin core for a personal project.

It seems that you didn't understand how does it work TXID only generate when you have already created a raw transaction it includes UTXO(unspent transaction), a destination address, change address, and the amount.

Like the above said this https://coinb.in/#newTransaction is the only known tool that you can create a raw transaction and sign through this https://coinb.in/#sign
You can also able to push the transaction through here https://coinb.in/#broadcast

If you want a guide check this How to create, sign and broadcast transactions using coinb.in

I know how transactions work I have built them with bitcoin-cli in the past, I know some services online allow us to create transactions, but they could use bitcoin core in the backend for it. And I start this post to see if it was possible without this main software.

I will keep this post open to see if someone knows any other software for it. If it could be done with Bash Linux it would be awesome.
 

█████████████████████████
████▐██▄█████████████████
████▐██████▄▄▄███████████
████▐████▄█████▄▄████████
████▐█████▀▀▀▀▀███▄██████
████▐███▀████████████████
████▐█████████▄█████▌████
████▐██▌█████▀██████▌████
████▐██████████▀████▌████
█████▀███▄█████▄███▀█████
███████▀█████████▀███████
██████████▀███▀██████████
█████████████████████████
.
BC.GAME
▄▄░░░▄▀▀▄████████
▄▄▄
██████████████
█████░░▄▄▄▄████████
▄▄▄▄▄▄▄▄▄██▄██████▄▄▄▄████
▄███▄█▄▄██████████▄████▄████
███████████████████████████▀███
▀████▄██▄██▄░░░░▄████████████
▀▀▀█████▄▄▄███████████▀██
███████████████████▀██
███████████████████▄██
▄███████████████████▄██
█████████████████████▀██
██████████████████████▄
.
..CASINO....SPORTS....RACING..
█░░░░░░█░░░░░░█
▀███▀░░▀███▀░░▀███▀
▀░▀░░░░▀░▀░░░░▀░▀
░░░░░░░░░░░░
▀██████████
░░░░░███░░░░
░░█░░░███▄█░░░
░░██▌░░███░▀░░██▌
░█░██░░███░░░█░██
░█▀▀▀█▌░███░░█▀▀▀█▌
▄█▄░░░██▄███▄█▄░░▄██▄
▄███▄
░░░░▀██▄▀


▄▄████▄▄
▄███▀▀███▄
██████████
▀███▄░▄██▀
▄▄████▄▄░▀█▀▄██▀▄▄████▄▄
▄███▀▀▀████▄▄██▀▄███▀▀███▄
███████▄▄▀▀████▄▄▀▀███████
▀███▄▄███▀░░░▀▀████▄▄▄███▀
▀▀████▀▀████████▀▀████▀▀
Coding Enthusiast
Legendary
*
Offline Offline

Activity: 1039
Merit: 2783


Bitcoin and C♯ Enthusiast


View Profile WWW
May 01, 2022, 05:05:26 AM
Merited by ABCbits (2), BlackHatCoiner (2)
 #6

I was thinking about software to create, sign or decode transactions without the Node. To create a transaction is an algorithm where we have to input the TXID, VOUT, and the Amount. And to sign it we need the private key.
A long time ago in order to understand bitcoin better I started a project called BitcoinTransactionTool. It can decode, modify and create transactions by receiving UTXOs from block explorer APIs. Feel free to look at the code but know that it is incomplete, buggy and abandoned but it works well for basic things such as decoding basic transactions and creating legacy transactions.

I have long moved on to a newer and more complete project which I call Denovo and will eventually add this option to it. Unlike the old project, basic things such as transaction/script decoding and evaluation are complete and well tested here. It just lacks the user friendly way of creating or modifying transactions and it lacks the option to get UTXOs (Full node or SPV clients are incomplete and won't add centralized options such as block explorers).

I'm sure we need a Bitcoin Node to push the transaction
You don't really need to run a full node to broadcast a transaction. All you need is a peer IP address (could be gained using DNS dig), an open socket to that IP and ability to construct version/verack messages and sending them.

Denovo has this feature in a simple UI which uses what I call MinimalClient.

Projects List+Suggestion box
Donate: 1Q9s or bc1q
|
|
|
FinderOuter(0.19.1)Ann-git
Denovo(0.7.0)Ann-git
Bitcoin.Net(0.26.0)Ann-git
|
|
|
BitcoinTransactionTool(0.11.0)Ann-git
WatchOnlyBitcoinWallet(3.2.1)Ann-git
SharpPusher(0.12.0)Ann-git
LoyceV
Legendary
*
Offline Offline

Activity: 3304
Merit: 16605


Thick-Skinned Gang Leader and Golden Feather 2021


View Profile WWW
May 01, 2022, 09:50:25 AM
 #7

If it could be done with Bash Linux it would be awesome.
I'm following this Smiley
I sometimes use Electrum to create an unsigned transaction using a watch-only hot wallet, but it would be great if the entire transaction can be created offline (after manually entering the UTXO).

mocacinno
Legendary
*
Online Online

Activity: 3388
Merit: 4919


https://merel.mobi => buy facemasks with BTC/LTC


View Profile WWW
May 03, 2022, 06:35:34 AM
 #8


Just a quick heads-up: above link goes to my blog, but the post was written 5 years ago and hasn't been updated since...
This is not a security concern, but most links to my tools no longer word due to bad maintenance (lack of time).

Also, this was during a time where it was still "normal" to have P2PKH (legacy) addresses derived from a single private key (eventough HD wallets were also common). Nowadays, i guess most people will have an SPV HD wallet and use the P2WPKH address format (maybe we'll even see more P2TR in the future).

Valid alternatives for the outgoing links have been added right into coinb.in directly, eventough some do need an active internet connection (so you'll end up with an offline version of coinb.in to do the actual signing, and an online version to broadcast your transaction):
the fee-estimate link: https://coinb.in/#fees
the raw transaction decode link: https://coinb.in/#verify
the txpusher link: https://coinb.in/#broadcast

My advice for anybody would be to test everything out on the TESTNET first:
https://coinb.in/#settings
As long as you're on the testnet, you can do every step with the online version of coinb.in... Just make sure to download a local copy and go offline BEFORE touching any main net private keys!!!

TL;DR; There aren't any security concerns with the link to my blog, but most of the links to my toolset are dead and it's possible users have to use a slightly different approach to sign transactions (since they probably won't be using unspent outputs funding P2PKH addresses).

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
nc50lc
Legendary
*
Offline Offline

Activity: 2408
Merit: 5588


Self-proclaimed Genius


View Profile
May 03, 2022, 08:58:45 AM
Merited by seoincorporation (1)
 #9

-snip- I know some services online allow us to create transactions, but they could use bitcoin core in the backend for it. And I start this post to see if it was possible without this main software.
Just do not use any transaction generation software at all so you can make sure that Bitcoin Core isn't involved.
Except for the signing part since you can't compute the signature by hand.

Use your Notepad or any text editor:
First, list all the data that you need - input (TXID:VOUT), output's scriptPubKey.

Example (mainnet):
input:          aaf952cd5604ee02fdcb1c700c8f2f0759af55b8b468adff91ef468540ac336f
vout:           0
value:          100000 satoshi

output:         bc1qe55yu3dkw7rc7n8kk2r4r2nq3phagpxnzljtm2
scriptPubKey:   0014cd284e45b677878f4cf6b28751aa60886fd404d3 [22 Bytes in decimal = 16 in HEX]
value:          0.00099720BTC = 99720 satoshi = 0000000000018588 in HEX [8 Bytes]
Then construct a transaction by following this structure: learnmeabitcoin.com/technical/transaction-data
For the fields with "Reverse Byte Order", use this tool: learnmeabitcoin.com/tools/swapendian/ (or do it manually)

Manually constructed transaction from the example above:
Code:
01000000016f33ac408546ef91ffad68b4b855af59072f8f0c701ccbfd02ee0456cd52f9aa0000000000ffffffff018885010000000000160014cd284e45b677878f4cf6b28751aa60886fd404d300000000

Broken down into parts:
01000000 (version: 1 in 'reverse byte order')
01 (input count: 1)
6f33ac408546ef91ffad68b4b855af59072f8f0c701ccbfd02ee0456cd52f9aa (input's txid in 'reverse byte order')
00000000 (vout: 0 in 'reverse byte order')
00 (scriptSig size)
[no scriptSig]
ffffffff (sequence in 'reverse byte order')
01 (output count: 1)
8885010000000000 (value in 'reverse byte order')
16 (ScriptPubKey size)
0014cd284e45b677878f4cf6b28751aa60886fd404d3 (ScriptPubKey)
00000000 (locktime in 'reverse byte order')

Lastly, sign the raw transaction using your preferred software (I used Bitcoin Core since it's Taproot).
Screenshot that shows it's valid after signing:

(transaction is not broadcasted)

.
.HUGE.
▄██████████▄▄
▄█████████████████▄
▄█████████████████████▄
▄███████████████████████▄
▄█████████████████████████▄
███████▌██▌▐██▐██▐████▄███
████▐██▐████▌██▌██▌██▌██
█████▀███▀███▀▐██▐██▐█████

▀█████████████████████████▀

▀███████████████████████▀

▀█████████████████████▀

▀█████████████████▀

▀██████████▀▀
█▀▀▀▀











█▄▄▄▄
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
.
CASINSPORTSBOOK
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀▀█











▄▄▄▄█
seoincorporation (OP)
Legendary
*
Offline Offline

Activity: 3150
Merit: 2930


Top Crypto Casino


View Profile
May 03, 2022, 03:31:16 PM
 #10

If it could be done with Bash Linux it would be awesome.
I'm following this Smiley
I sometimes use Electrum to create an unsigned transaction using a watch-only hot wallet, but it would be great if the entire transaction can be created offline (after manually entering the UTXO).

After some research I found this tool for to manage transactions with bash linux:

https://github.com/pebwindkraft/trx_cl_suite

After looking at the code is a great transaction tools suite, I know you will like it LoyceV.

Examples:
Code:
./tcls_create.sh -c c3434be....5c5b7a310cc67 0 76A9141FE307887696CF781DA237DBE2E12DB05C10986A88AC 110000 12GTF5ARSrqJ2kZd4C9XyGPesoVgP5qCdM

Code:
./tcls_sign.sh -v 0100000003bbb...ac0000000001000000 -w KyP5KE...tQPcN4 -p 03cc5d...8dced0

And thanks to nc50lc and mocacinno, your information was useful too  Wink

█████████████████████████
████▐██▄█████████████████
████▐██████▄▄▄███████████
████▐████▄█████▄▄████████
████▐█████▀▀▀▀▀███▄██████
████▐███▀████████████████
████▐█████████▄█████▌████
████▐██▌█████▀██████▌████
████▐██████████▀████▌████
█████▀███▄█████▄███▀█████
███████▀█████████▀███████
██████████▀███▀██████████
█████████████████████████
.
BC.GAME
▄▄░░░▄▀▀▄████████
▄▄▄
██████████████
█████░░▄▄▄▄████████
▄▄▄▄▄▄▄▄▄██▄██████▄▄▄▄████
▄███▄█▄▄██████████▄████▄████
███████████████████████████▀███
▀████▄██▄██▄░░░░▄████████████
▀▀▀█████▄▄▄███████████▀██
███████████████████▀██
███████████████████▄██
▄███████████████████▄██
█████████████████████▀██
██████████████████████▄
.
..CASINO....SPORTS....RACING..
█░░░░░░█░░░░░░█
▀███▀░░▀███▀░░▀███▀
▀░▀░░░░▀░▀░░░░▀░▀
░░░░░░░░░░░░
▀██████████
░░░░░███░░░░
░░█░░░███▄█░░░
░░██▌░░███░▀░░██▌
░█░██░░███░░░█░██
░█▀▀▀█▌░███░░█▀▀▀█▌
▄█▄░░░██▄███▄█▄░░▄██▄
▄███▄
░░░░▀██▄▀


▄▄████▄▄
▄███▀▀███▄
██████████
▀███▄░▄██▀
▄▄████▄▄░▀█▀▄██▀▄▄████▄▄
▄███▀▀▀████▄▄██▀▄███▀▀███▄
███████▄▄▀▀████▄▄▀▀███████
▀███▄▄███▀░░░▀▀████▄▄▄███▀
▀▀████▀▀████████▀▀████▀▀
coinableS
Legendary
*
Offline Offline

Activity: 1442
Merit: 1179



View Profile WWW
May 04, 2022, 03:33:54 AM
 #11

Yes there is a lot of software like this.

As others have stated one of the long lasting apps for this is https://coinb.in

I made one myself as well with UTXO selection in javascript using bitcoinjs.

https://coinables.github.io/coldsigner/
https://github.com/coinables/coldsigner


Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!