What will be the minimum required fee for a transaction in bitcoin?
Technically, the minimum fee is actually zero. It is still a "valid" transaction with a fee of zero and can be included in a block. However, there is also the "minrelaytxfee" that most nodes use, to determine whether they will propagate the transaction across the network. It defaults (in Bitcoin Core) to 1 sat/byte (technically 0.00001000 btc/kbyte)... but each node is free to pick their own rate... ![](https://ip.bitcointalk.org/?u=https%3A%2F%2Ftalkimg.com%2Fimages%2F2023%2F11%2F15%2Fzja8C.png&t=663&c=MVSRfMwsIXCc5A) So... while you can create a transaction with a fee of "0", don't expect your transaction to propagate well... or at all. You'd most likely need to send it directly to a friendly miner (that hates money) to include it in their mempool directly. ![Tongue](https://bitcointalk.org/Smileys/default/tongue.gif)
|
|
|
Almost same question but I'm using Lubuntu and it doesn't have the executable tick box. Any suggestions other than not using Lubuntu ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) ? Thx What version of Lubuntu are you using? You must have 18.04 or earlier, as I just fired up a 20.04 VM and it has this: ![](https://ip.bitcointalk.org/?u=https%3A%2F%2Ftalkimg.com%2Fimages%2F2023%2F11%2F15%2Fzjdwb.png&t=663&c=JCbJn-FIxKA6Nw) However, in 18.04 I see that this option is missing: ![](https://ip.bitcointalk.org/?u=https%3A%2F%2Ftalkimg.com%2Fimages%2F2023%2F11%2F15%2FzjuEv.png&t=663&c=ULxncKdsQzAhSQ) Just change the "execute" value to "Owner and Group": ![](https://ip.bitcointalk.org/?u=https%3A%2F%2Ftalkimg.com%2Fimages%2F2023%2F11%2F15%2Fzjw5H.png&t=663&c=3CcfJNzbD2gv9g) Then you should be able to double-click on it and it will prompt you to execute it: ![](https://ip.bitcointalk.org/?u=https%3A%2F%2Ftalkimg.com%2Fimages%2F2023%2F11%2F15%2FzjH2g.png&t=663&c=opxKI_5FXeoSNQ) or you can upgrade to 20.04 ![Tongue](https://bitcointalk.org/Smileys/default/tongue.gif)
|
|
|
As I suspected, it was a "SHIFT" typo with the "5" and "%" symbol... typing the "5" too quickly after holding "SHIFT" to type the "#" just before it ![](https://ip.bitcointalk.org/?u=https%3A%2F%2Fi.imgur.com%2F0gcns32.png&t=663&c=LB2eYpD9dGGigw) Congratulations on recovering your password.
|
|
|
Yes, I'm a newbie but I'm a bitcoin expert ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) Solid effort. But I suspect that the reason the OP specified that his sendTX() function takes a private key is that he doesn't have access to a Bitcoin Core node to be able to make use of RPC. I believe this is also why he mentioned using APIs at blockcypher/sochain etc to retrieve UTXOs. And one small piece of advice... next time, when posting code, please use [ code ][ /code ] formatting tags (without the spaces)... it makes code a LOT easier to read when it is indented properly in monospaced font, and it also prevents your posts from getting excessively long ![Wink](https://bitcointalk.org/Smileys/default/wink.gif) require("jsonRPCClient.php"); $bitcoin = new jsonRPCClient('http://username:password@127.0.0.1:port');
$addresses = array (
"address1" => "address", //fill in address you want to spend from "address2 => "address" //fill in address you want to spend from
);
$unspentTransactions = $bitcoin->listunspent(0, 99999, $addresses);
$collectedTransactions = [];
foreach ($unspentTransactions as $unspentTransaction) {
if ($collectedAmount < $amountToSend) { $collectedTransactions[] = [ 'txid' => $unspentTransaction['txid'], 'vout' => $unspentTransaction['vout'], ];
$collectedAmount += $unspentTransaction['amount']; //this shows all balance collected from addesses you wish to spend from } else {
break; } }
$recipient = "address"; //this where you want to send payment to $amount = 0.000000; //amount you wish to send in BTC value $change_address = "your_change_Address"; $change_amount = number_format($collectedAmount-$fee-$amount, 8);
$output = array(
"".$recipient."" =>"".$amount."",
//this is where the change money will go back to... set your address
"".$change_addr."" =>"".$change_amount-$fee."",
);
// Now let's create the transaction
$rawTransaction = $bitcoin->createrawtransaction($collectedTransactions, $output);
// now lets sign the transaction using bitcoin core signwithwallet function
$sign_raw_txn = $bitcoin->signrawtransactionwithwallet($rawTransaction); $shex = $sign_raw_txn['hex']; // this is the signed hex you can do anything you want with it... if you want to send payment follow the next step.
echo $bitcoin->sendrawtransaction($shex); // this will return txn id and you're all done.
//I haven't tested this code so if you want me to code it for you I can do in my spare time, I hope this helps.
ps. There is also a missing " in your "address2 => "address" line... ![Wink](https://bitcointalk.org/Smileys/default/wink.gif)
|
|
|
I'm always terrible at competitions like this... but it's pretty much just random dumb luck... so I'll throw in a stupid optimistic guess ![Tongue](https://bitcointalk.org/Smileys/default/tongue.gif) My Guess: €11825.30 Bitcasino.io Account: hcp123
|
|
|
So seeds and master private keys are the same, but represented in a different way? (mnemonic phrase // private key format)
No. They're not the same (other than the fact that they're generally really big numbers). There seems to be some confusion here surrounding terminology... A "seed" is just a really big, random number. It's the "starting point" for deriving everything in an HD wallet. A "seed mnemonic" is a way to store this really big random number as a series of plain (usually english) words (aka BIP39) A "Master Private Key" is a another really big number derived from the seed. (aka BIP32) FUN fact... have a look in your dumpwallet output for the "hdseed=1" record. The 'WIF' record you see there is the 'seed' for your wallet. It can be used with the createwallet (need to set argument 'blank'=true) and sethdseed commands to set the seed in a Bitcoin Core wallet to recreate a wallet. This is NOT a recommended backup system.
|
|
|
I have a HD wallet from BitcoinCore, and I suspect that there are some ways of tapping my wallet. I don't want to sign transactions with BitcoinCore. So I would like to import private keys into Armory and sign transactions offline.
I'm not quite sure I understand what your issue is... you're concerned that there might be some sort of "spyware" in Bitcoin Core? ![Huh](https://bitcointalk.org/Smileys/default/huh.gif) Or, if I can sign transactions offline and see the FULL content of each transaction before it is pushed to nodes, that would work as well. I don't care if it's Electrum, Armory, BitcoinCore or any other tool, as long as I get to see the full content of what goes out to other nodes.
You realise if you use the Bitcoin Core console (or bitcoin-cli) you can manually create and sign transactions without broadcasting them... you'll be able to decode and view the full contents before you send it... 1. createrawtransaction2. signrawtransactionwithkey or signrawtransactionwithwallet (useful if spending from multiple addresses) 3. decoderawtransactionOnce you're satisfied... you can use: 4. sendrawtransaction
|
|
|
Have you checked your bitcoin.conf file? ![Huh](https://bitcointalk.org/Smileys/default/huh.gif) You can set some of the User Interface Options in there, like minimizetotray... and if it's set there as minimizetotray=0, it might set the ones in the GUI to be greyed out so that it can't be changed. But I'm kinda grasping at straws on this one tbh. A very strange issue indeed! ![Huh](https://bitcointalk.org/Smileys/default/huh.gif)
|
|
|
I want to unlock them myself, but I have problems running hashcat. Thank you, I am noting all your advice. Are you still having issues running Hashcat? If so, what errors are you getting when you attempt to run it? What output do you get? ![Huh](https://bitcointalk.org/Smileys/default/huh.gif)
|
|
|
Provenance of the wallet.dat file notwithstanding... Given the supplied password... the following "mask file" will try checking for basic typo's on each character first (including SHIFT not held properly when typing UPPERCASE/symbol, or SHIFT accidentally held when trying to type lowercase/number). Then it will test each position, one at a time, and try ANY possible character in that position. NOTE: if there is more than one character incorrect, this will NOT work.?s?d,?1#5cltEkfy/5z ?s?d,~?15cltEkfy/5z ?d?s,~#?1cltEkfy/5z ?l?u,~#5?1ltEkfy/5z ?l?u,~#5c?1tEkfy/5z ?l?u,~#5cl?1Ekfy/5z ?l?u,~#5clt?1kfy/5z ?l?u,~#5cltE?1fy/5z ?l?u,~#5cltEk?1y/5z ?l?u,~#5cltEkf?1/5z ?s?d,~#5cltEkfy?15z ?d?s,~#5cltEkfy/?1z ?l?u,~#5cltEkfy/5?1 ?a#5cltEkfy/5z ~?a5cltEkfy/5z ~#?acltEkfy/5z ~#5?altEkfy/5z ~#5c?atEkfy/5z ~#5cl?aEkfy/5z ~#5clt?akfy/5z ~#5cltE?afy/5z ~#5cltEk?ay/5z ~#5cltEkf?a/5z ~#5cltEkfy?a5z ~#5cltEkfy/?az ~#5cltEkfy/5?a
Create a new file where hashcat.exe is... call it "test.hcmask"... copy/paste the above masks into it and save it. The hashcat commandline should be: hashcat.exe -m 11300 -a 3 $bitcoin$96$**** test.hcmask
NOTE: replace $bitcoin$96$**** with your actual wallet.dat hash extracted using bitcoin2john.py Hashcat will then run through all the 1 character possibilities. If it doesn't work then, as noted above, there is more than one character that is incorrect... ![Undecided](https://bitcointalk.org/Smileys/default/undecided.gif)
|
|
|
Tell me, is it possible to ask one character to perform a search and include the others that were found to check each of them in turn? Give me the right command to do this. ... I want to insert my password from a text file and try one character at a time for an error, this may work.
Not sure exactly what you mean by try one character at a time. You have to test complete passwords... but do you mean you just want to check each character for error? If so, then I believe the following might help. For instance, if you think your password was "ha$hc4t", but you think there might be a typo with the first character... you could try: ?aa$hc4t This will try EVERY character (?a) at position 1... followed by "a$hc4t": aa$hc4t ba$hc4t ca$hc4t da$hc4t ea$hc4t fa$hc4t ... etc etc You could try that, and if not successful, you could try the 2nd char: h ?a$hc4t <--- "h" (test every character at position 2 with ?a) followed by "shcat": h a$hc4t h b$hc4t h c$hc4t h d$hc4t h e$hc4t h f$hc4t ... etc etc And then try position 3, then position4 etc...
You can also create a ".hcmask" file, that includes all the masks you wanted to try... ?aa$hc4t h?a$hc4t ha?ahc4t ha$?ac4t ha$h?a4t ha$hc?at ha$hc4?a
Would try each of those masks, one after the other, exhausting all possible permutations before moving onto the next mask... you just use the file name in place of the mask in the commandline: hashcat.exe -m 11300 -a 3 $bitcoin$96$**** example.hcmask
|
|
|
Have you checked the current state of the network? Have a look at: https://jochen-hoenicke.de/queue/#0,24hIt's been very busy and there was a sharp uptick in fee rates. It looks like you went with whatever fee the wallet proposed... or used the "slider"? If you goto "Tools -> Preferences - > Fees" and select the "Edit Fees Manually" option, you'll be able to set it to whatever you want. The trade-off (of course there is a trade-off! ![Tongue](https://bitcointalk.org/Smileys/default/tongue.gif) ) is that your transaction could take a long time to get confirmed, if you set the lowest fee rate (ie. 1 sat/byte) and the network is very busy with lots of high fee rate transactions sitting in the mempool. But with your transaction size of 454 bytes, you would only have paid 454 sats at 1 sat/byte... instead of paying 45004 sats at 93 sats/byte! ![Shocked](https://bitcointalk.org/Smileys/default/shocked.gif)
|
|
|
Do you know of a more balanced wallet for transactions ? Can you write your transaction fees at the very moment you answer?
Just find a wallet that lets you specify the fee rate to be used. If you want an iOS one, I'd also recommend "BRD" wallet. Note that there can be a natural variance of the total fee paid depending on the the data size of the transaction you are sending... it's not dependent on the BTC value being sent, but the number of inputs and outputs being generated. It is entirely possible to send 2 transactions, both of which send the same amount of BTC... to have wildly different total fees... even if you set both to use a fee rate of 1 sat/byte. Example: - TransactionA, has 1 (legacy) input and generates 2 outputs... it'll be around 226 bytes in size... and at 1 sat/byte, would have a fee of 226 sats. - TransactionB, has 100 (legacy) inputs and generates 2 outputs... it'll be around 15000 bytes in size... and even at 1 sat/byte, would have a fee of ~15000 sats. The exact numbers are a little different with SegWit and "weight" and virtualBytes etc... but generally, the more inputs you need to use, the larger your transactions data size, and therefore it's total fee, will be.
|
|
|
your string looks a bit incorrect... it shouldn't have all the spaces in it... hashcat.exe -m 11300 -a 3 $bitcoin$96$**** hash?~?#?5?C?L?TEK?F?Y?/?5?r?
But it looks like you're getting the position of the ?'s wrong... and you don't quite get what the ?'s mean. ?l == lowercase letters (ie. abcdefghijklmnopqrstuvwxyz) ?u == uppercase letters (ie. ABCDEFGHIJKLMNOPQRSTUVWXYZ) ?d == numbers 1234567890 ?s == symbols !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ ?a == All of the above if you want to use a specific letter... you don't use ? at all... So, I'm not sure exactly what you are trying to use as your mask... but pretty much none of your ?'s make any sense... ![Huh](https://bitcointalk.org/Smileys/default/huh.gif) So, that command as it is written isn't going to work.
|
|
|
Imo a really long passphrase have to be test at least once a week, and of course in secure offline device.
Not just really long passphrases to be honest... I noted with interest that a Google Authenticator App I have been using (Aegis), will actually prompt you after a certain number of numbers to use your master password rather than the fingerprint to sign in. "It's been a while since you logged in with your password, do you still remember it"... I thought that was a great feature. But yes, with regards to all this, it really comes down to your own personal level of risk aversion/acceptance. If you're happy with the system you've got, understand any risks involved and take appropriate steps to mitigate those risks, then you should be OK. It's the folks who don't understand what they're getting into and don't take adequate steps to mitigate the risks that get in trouble.
|
|
|
We know that it is pretty much impossible to find collision in SHA256, so if I use it with my passphrase there is no other way for attacker to guess it, am I wrong?
Yes, you are wrong, as I think you're misunderstanding what a "collision" actually is... A collision is not someone being able to guess whatever it was you have hashed... a collision is two different values that will generate the same hash result. ie. SHA256(X) == SHA256(Y) would be a collision.
Regardless of whether or not you use SHA256, the strength of your brainwallet lies purely in how long and complicated the passphrase actually is... and generally speaking, it is simply not going to be as random and have as much entropy as a properly (randomly) generated seed/private key. Given some of the stories that have been floating around (ie: https://www.reddit.com/r/Bitcoin/comments/1ptuf3/brain_wallet_disaster/ and https://www.reddit.com/r/Bitcoin/comments/1zti1p/17956_hacked_brainwallet_passwords/) There have been (and there probably currently are) a lot of people running all sorts of scripts and bots that generate/monitor various Bitcoin addresses that are generated from brainwallets (essentially SHA256(passphrase)). Therefore, it is not out of the realms of possibility, that some users have also considered using something similar to generate BIP39 seeds the same way... after all, you thought of it! "At christmas 2002 my oncle Joe came drunk for the dinner. My first girlfriend did not like french fries"
It is interesting to note that the fact that you are using 'proper' English sentence structure and grammar is already reducing the entropy... as there is a relationship and pattern to the words. Compared with something like: "extra card place track tower violin slim window soul identify tray galaxy" where they are in no way related to each other and there is no defined structure.
|
|
|
|