ok, bitcoin is more complex than i thought after all
i tried but i failed
think i did something wrong with the fees
so lets take wallet A B(100 addresses) C D(100 addresses)
A transfers 100 BTC and 0.1 mbtc to B
How many transactions has A received? Did it receive the entire 100 BTC in a single transaction to just one of the addresses? Did it receive 100 transactions sent to each address valued at 0.01 BTC per transaction (for a total of 10000 transactions?
Every transaction received at A is a completely separate output. They are not merged together as the are received. The number of outputs determines the size of the transactions as well as the amount of change that is tied up in a transaction sent from wallet A.
(each B receives 1 BTC )
Ok, so regardless of how many transactions A received, B is going to send 100 BTC in a single transaction with 100 separate outputs each valued at 1 BTC?
Now B has 100 outputs each valued at 1 BTC.
all the B together send 0.999999 BTC each to C + 0.1 mbtc fee
C receives 99.9999 BTC (100 times 0.999999)
This is all 100 outputs from B spent together in a single transaction to C? Or is this 100 separate transactions from B to C?
If it is 100 outputs in a single transaction, then the transaction will be nearly 30,000 bytes in size. At a fee of 0.1 mBTC per 1000 bytes, you will need to include a fee of at least 3.0 mBTC. Also, it would have been faster, cheaper and easier to just send the 100 BTC from A to C and avoid all the fees and mess that you created with B.
If it is 100 separate outputs to C, then C now has 100 outputs each valued at 0.99999 BTC. Wouldn't it have been faster and easier to just send the bitcoins directly to C and skip all the mess and cost associated with sending to B?
C can spend 0.999899 100 times immediately to the different D addresses. (0.1 mbtc fee)
Do they need to be separate transactions, or are you okay with sending all 100 outputs from the same transaction? If all 100 outputs can be from the same transaction, then you could have just done that from A and skipped this whole expensive and time consuming mess. If all 100 outputs need to be from 100 separate transactions, then you could have done that from B.
I failed and forgot about the fee so instead of 0.999999 btc i did it with 1 btc which made blockchain taking together many different transactions B-C and left some empty so i cant transfer 100 times in 1 time anymore
You really need to explain what you are trying to accomplish instead of how you are trying to do it. You clearly don't understand how bitcoin transactions work, and therefore are wandering down some convoluted and winding paths that are almost certainly not necessary.
Can someone confirm if those numbers are right? (i'm doing transfers in smaller amounts but to make it easy i used 1 btc)
You'll need to be careful about smaller amounts. You can end up with transactions that have outputs that are so small that peers won't relay them.
and another thing: how do I do the last step C-D the fastest (because they all need to be in the same block but in a different transaction) ?
Unless you mine the block yourself, it is impossible to guarantee that the transactions will be confirmed in the same block. The miner (or mining pool) that mines the block gets to choose which transactions they want to include in the block. They *might* include all of your transactions, but they *might* leave some of your transactions for someone else to confirm in a later block.
If you can solve this problem for me (A-C works perfectly with blockchain API but have no idea how to program 100 transactions in the blockchain api, they are always in 1 transaction
bitcoin core is still and will still take a few days with the torrent I used.
Getting more and more experienced with bitcoin. The last step is to make a lot of those C-D transactions by just a few clicks. This will make me a lot of money for a small time and if you could help me out I'll give you a part of it). I really appreaciate all your help
Wouldn't it be easier to just send a single transaction from A that has 100 outputs sending whatever amount you want per output? If they truly need to be separate transactions, then you can split up the balance to separate outputs (Do they really need to be separate addresses? Can't you just send 100 transactions each spending a separate output that was received at the same address?). Keep in mind that if you have 100 transactions, there really isn't any way to be certain that they will all be confirmed in the same block.