It seems that the maximum-block-size in params.dat does not apply Correctly.

+2 votes

Hello multichain developers.

I have tested about maximum-block-size.

I set maximum-block-size = 8388608 in params.dat.

And then, i have called a lot of Send API using script to check the maximum-block-size.

The results are as follows.

Num of block

Block size

Num of tx

RMKS

13

750

3

 

14

803752

3564

Start 'send'

15

1374177

6096

 

16

2242424

9950

 

17

2242521

9950

 

18

2242452

9950

 

19

2242463

9950

 

20

2242510

9950

 

21

2242587

9950

 

22

2242440

9950

Finish 'send'

23

2242479

9950

 

24

325065

1442

 

25

299

1

 

 
I have found that maximum-block-size is not 8mb.

and I proceed the test after changing  

unsigned int MAX_BLOCK_SIZE = 8388608;
unsigned int DEFAULT_BLOCK_MAX_SIZE = 8388608;

which is in src/chainparams/globals.h

 

Num of block

Block size

Num of tx

RMKS

9

8386767

37192

Start 'send' / Finish 'send'

10

7403524

32832

 

11

299

1

 

 

The table above shows the results.
 
Please check and feedback on this problem.
 
Thank you.
 
P.S

 

This is chain's parameter :

{
    "chain-protocol" : "multichain",
    "chain-description" : "MultiChain test",
    "root-stream-name" : "root",
    "root-stream-open" : false,
    "chain-is-testnet" : false,
    "target-block-time" : 180,
    "maximum-block-size" : 8388608,
    "default-network-port" : 8873,
    "default-rpc-port" : 8872,
    "anyone-can-connect" : true,
    "anyone-can-send" : true,
    "anyone-can-receive" : true,
    "anyone-can-receive-empty" : true,
    "anyone-can-create" : false,
    "anyone-can-issue" : false,
    "anyone-can-mine" : false,
    "anyone-can-activate" : false,
    "anyone-can-admin" : false,
    "support-miner-precheck" : true,
    "allow-arbitrary-outputs" : false,
    "allow-p2sh-outputs" : true,
    "allow-multisig-outputs" : true,
    "setup-first-blocks" : 60,
    "mining-diversity" : 0.00000000,
    "admin-consensus-upgrade" : 0.50000000,
    "admin-consensus-admin" : 0.50000000,
    "admin-consensus-activate" : 0.50000000,
    "admin-consensus-mine" : 0.50000000,
    "admin-consensus-create" : 0.50000000,
    "admin-consensus-issue" : 0.50000000,
    "lock-admin-mine-rounds" : 10,
    "mining-requires-peers" : true,
    "mine-empty-rounds" : -1.00000000,
    "mining-turnover" : 1.00000000,
    "first-block-reward" : 16800000000000000,
    "initial-block-reward" : 500000000000,
    "reward-halving-interval" : 1032000,
    "reward-spendable-delay" : 100,
    "minimum-per-output" : 0,
    "maximum-per-output" : 20000500000000000,
    "minimum-relay-fee" : 1000000,
    "native-currency-multiple" : 100000000,
    "skip-pow-check" : false,
    "pow-minimum-bits" : 10,
    "target-adjust-freq" : 86400,
    "allow-min-difficulty-blocks" : false,
    "only-accept-std-txs" : true,
    "max-std-tx-size" : 1048576,
    "max-std-op-returns-count" : 10,
    "max-std-op-return-size" : 4096,
    "max-std-op-drops-count" : 5,
    "max-std-element-size" : 1024,
    "chain-name" : "test",
    "protocol-version" : 10009,
    "network-message-start" : "f8c3c2fa",
    "address-pubkeyhash-version" : "000a2984",
    "address-scripthash-version" : "057339b8",
    "private-key-version" : "80202a9d",
    "address-checksum-value" : "9ad6ff2e",
    "genesis-pubkey" : "02ff14671f079b1330bf62bcd2c4f77e690646918ab89ef770834d435796c5dd27",
    "genesis-version" : 1,
    "genesis-timestamp" : 1518505095,
    "genesis-nbits" : 524287999,
    "genesis-nonce" : 923,
    "genesis-pubkey-hash" : "2f8dca991f9da4040d2e9080ebf5dba9773eebd3",
    "genesis-hash" : "0000e6948018c4780347097b4d26f13f285e56524d43e44e55b2c5e1baec0f97",
    "chain-params-hash" : "3071c7ab4e1801bc272fdb4aea276cb9b264fcc916b07b7f6e03680b95b26395"
}

asked Mar 20, 2018 by Jeon

2 Answers

0 votes

Yes, this is an issue that was fixed in protocol version 20002 (available in MultiChain 2.0 alphas only). Before that, there's a limit of just under 10000 transactions per block.

answered Mar 22, 2018 by MultiChain
0 votes

Version 1.0.5 of MultiChain has just been released, and it includes support for protocol version 10011 which also fixes this.

answered Jun 7, 2018 by MultiChain
...