Multichain confirmation issue

+1 vote
How we use blockchain features in multichain? ie., Block chain is a distributed database. In this every system is server.

Problem: I created one chain in system A and connected that chain from system B. I am able to send all transactions between these two systems. I did switch off system A and transferred one asset from system B to system A. Its deducted form system B's address but not credited in system A's address. Also in transaction details the confirmations is zero. What will do to correct this issue?
asked Jan 9, 2017 by anonymous

1 Answer

0 votes

First, you can check the balance of an address including unconfirmed transactions by passing 0 for the value of any minconf parameter in a balance-checking API. For example:

getmultibalances * * 0

Second, if your transactions are not being confirmed when you switch off a node, this will be because mining has stopped. The most likely reason is that you have given mining permission to multiple addresses, and the mining-requires-peers parameter is set to true in the blockchain parameters. So please try stopping MultiChain, then restarting multichaind with the extra parameter -miningrequirespeers=0.

answered Jan 9, 2017 by MultiChain
Tried with -miningrequirespeers=0, but again deducted form system B's address but not credited in system A's address.
Where are you checking A's balance? If you're checking it on A, but A is not connected to the network, of course it will have no idea about the transaction.
I am checking B's balance.

I did switch off system A and transferred one asset from system B to system A. Its deducted form system B's address but not credited in system A's address.
Yes, but how are you checking if it has been credited to system A's address, if system A is off?
In both system we need to add -miningrequirespeers=0?
Well, that would mean each node could mine if it gets disconnected from the network, so it's not a great solution, because they could end up on different forks. You might prefer to choose one node to have this rule. In a real deployment, you should have multiple mining nodes, so that there is no problem if one or two go down.
In a real deployment means?
If you wanted to build a robust system between multiple non-trusting parties.
I did switch off system A and transferred one asset from system B to system A. Also added -miningrequirespeers=0 in B's system. After that did switch on system A and checked balance. But still the amount deducted form system B's address but not credited in system A's address. Some times if i do node restart its working but some times not working. What will be the reason?
System A would have to catch up with the blocks it missed after you switched it on again - you can use getinfo on each node to see the number of blocks they have currently processed.
I am faced up with similar problems, i am working on a distributed ledger kind of requirement where nodes are managed remotely where there are no good network connectivity available, the expectation is that the local node should accept the transactions and sync with chain when the network comes back..

As mentioned above, i have to restart the nodes manually and my setting is already with miningrequirespeers=0.
Please suggest what are we missing here..

Thanks
You can also use the addnode API to manually manage peer-to-peer connections.
...