Questions about customizing/extending multichain

+1 vote

Hi,

We're planning to run a custom blockchain with Multichain as a base except we want to modify the API (add our own API calls, have some custom permission handling, etc). I have two questions:

1. Would it be possible to restrict that the only nodes to connect to our blockchain would be running our exact same custom API? Our concern is that since we would open source our code, in theory someone could compile/build their own copy and bypass any custom permissions we implement.

2. We understand there is a blockchain parameter mining-diversity that controls how many miner confirmations are needed to validate. Would it be possible to customize/modify multichain such that this value can be modified after initialization? Or some other way to adjust the required number of confirmations at some point in the future? (Unfortunately I do not have a justification/use case for this scenario at the moment, it is a client request that we are following up on)

Thanks!

asked Apr 6, 2018 by anonymous

1 Answer

0 votes

I'm afraid you cannot force other users to use your custom API, because as you say they can always create their own version of the codebase. If you want to impose custom rules on transactions, it's needs to be at the level of the blockchain's consensus rules, not the node APIs. To achieve this you can wait for MultiChain 2.0's "filters" feature, or else you can use these hooks in the MultiChain 2.0 codebase:

https://github.com/MultiChain/multichain/tree/master/src/custom

The mining-diversity is related to the number of current addresses with mine permissions, so it's not a fixed number of confirmations per se. But yes we're hoping that this parameter will be included as one in the list of parameters that can be upgraded in a running chain in MultiChain 2.0 (several other parameters are already upgadable).

answered Apr 8, 2018 by MultiChain
...