What is happening with asset being inserted from node 1 to wallet address of node 2?

0 votes
One wallet can have multiple wallet addresses, meaning that it holds addresses from other nodes wallets. What is happening when i insert asset from node 1 to wallet address of node 2.

A: Assets goes into local wallet and than propagate to node 2?

B:Goes directly to node'2 wallet and than propagate back to node 1?
asked Mar 25, 2016 by bojan.radulovic

1 Answer

0 votes
Everything happens through blockchain transactions, including the creation of assets. A transaction is created on one particular node, and starts life in the memory pool of that node only. Then it propagates to the memory pool of other nodes in a peer-to-peer way. Each nodes shows assets based on the set of transactions it is currently aware of.
answered Mar 25, 2016 by MultiChain
OK thanks this clears some questions for me, but can you explain why is following scenario happening?

If I'm physically located on server #1 with node #1 and insert a large number of assets CPU rises to 90-100% and this is the case most of the time due to wallet limitations. And when I am located on server #1 with node #1 and insert assets, just use a node's #2 wallet address, CPU doesn't go above 30%?
The wallet is working harder in the first case, because it is processing transactions when they are sent and also when they are "received", even though it's the same transactions.
So is there a reason to go with first case or is this is like a issue that you will fix in the future release?
We are planning a complete wallet overhaul, but I don't yet have an ETA on that. So in the meantime you might want to use the workaround of sending from one node to another.
Great thanks, looking forward to wallet overhaul ! :)
sending from one node to another was the workaround :(. what we want ultimately is to be able to send 50k new assets to one node and have that node take all those assets in 20 min tops and not crash. And the only way we got the nodes to give us this result is by inserting on one node to another ones wallet. We are trying hard to figure out why it wont work (as fast or even at all since it crashes at 10k assets every time) when we are inserting directly, and so far we have no idea. Another wierd thing we noticed is there is a huge diference in results we get when sending assets via API and making the program insert them directly through terminal by typing a string into terminal. Can you check with dev team why this is happening.
We never menaged to insert more than 10k assets in a row without the node breaking using API and we menaged to get to 500k assets inserted through terminal.
Also somoene from multichain mentioned that wallet has a limmit of 50-100k transactions so can you tell us what kind of transactions do you mean here, because #1 we also found that issue asset is considered a transaction internaly in multichain and #2 we menaged to put 500k of them into one wallet so the 100k wallet limit makes no sence.
If by the terminal, you mean multichain-cli, this is very surprising, because multichain-cli is also sending commands via the JSON-RPC API. Perhaps it is worth debugging the difference between the API queries you are sending, and those sent by multichain-util (in the first line of its output) to see if there is any clue there. That might even explain the crash.

The limit of 50k-100k transactions in the wallet is not a hard limit - it's just that beyond this point it can become very slow and use an unreasonable amount of memory.
how can i see the queries sent by multichain-util?
They are shown in the first line of the output on the command line.