appendrawdata issue with version 1.0.1

+1 vote
Hi,

I've just upgraded a dev server to 1.0,1 and had the following error return with the appendrawdata  command:

error":{"code":-8,"message":"Upgrades are not supported by this protocol version"

Here is the method i used to call:

{"method":"appendrawdata","params":["0100000002c95228c2b2ea7e05e37605b43ba86e9f2b6d64433beb659d53663e596e237e050000000000ffffffff753bc8767fd0c30698418f9eaa7e871a707d85d1dc9b29298200d342130c77c40000000000ffffffff0000000000",{"for":"streamname","key":"mykey","data":"myhexdata"}],"id":1,"chain_name":"dev05"}

This is a step in a sequence of raw transaction commands that was been working for a while. I rolled back to MultiChain version 1.0 and it worked fine again. Happy to send more data if this helps, I would be keen to understand what has changed with raw transactions, or if a bug help identify & resolve.

Thanks in anticipation.

Adam.
asked Sep 28, 2017 by Adam
Thanks for reporting this. Can you please post the output of getblockchainparams?
Thanks, here are the params (version 1.0), if you wanted them from 1.0.1 I can upgrade the server and send again:

    "chain-protocol" : "multichain",
    "chain-description" : "MultiChain dev07",
    "root-stream-name" : "root",
    "root-stream-open" : true,
    "chain-is-testnet" : false,
    "target-block-time" : 15,
    "maximum-block-size" : 8388608,
    "default-network-port" : 2653,
    "default-rpc-port" : 2652,
    "anyone-can-connect" : false,
    "anyone-can-send" : false,
    "anyone-can-receive" : false,
    "anyone-can-create" : false,
    "anyone-can-issue" : false,
    "anyone-can-mine" : false,
    "anyone-can-activate" : false,
    "anyone-can-admin" : false,
    "allow-p2sh-outputs" : true,
    "allow-multisig-outputs" : true,
    "setup-first-blocks" : 60,
    "mining-diversity" : 0.30000000,
    "admin-consensus-admin" : 0.50000000,
    "admin-consensus-activate" : 0.50000000,
    "admin-consensus-mine" : 0.50000000,
    "admin-consensus-create" : 0.00000000,
    "admin-consensus-issue" : 0.00000000,
    "mining-requires-peers" : true,
    "first-block-reward" : -1,
    "initial-block-reward" : 0,
    "reward-halving-interval" : 52560000,
    "reward-spendable-delay" : 1,
    "minimum-per-output" : 0,
    "maximum-per-output" : 100000000000000,
    "minimum-relay-fee" : 0,
    "native-currency-multiple" : 100000000,
    "skip-pow-check" : false,
    "pow-minimum-bits" : 16,
    "target-adjust-freq" : -1,
    "allow-min-difficulty-blocks" : false,
    "only-accept-std-txs" : true,
    "max-std-tx-size" : 4194304,
    "max-std-op-returns-count" : 10,
    "max-std-op-return-size" : 2097152,
    "max-std-op-drops-count" : 5,
    "max-std-element-size" : 600,
    "chain-name" : "dev07",
    "protocol-version" : 10006,
    "network-message-start" : "fddcfdec",
    "address-pubkeyhash-version" : "00a3aa7a",
    "address-scripthash-version" : "05f2d044",
    "private-key-version" : "800533da",
    "address-checksum-value" : "37700c6d",
    "genesis-pubkey" : "033682277ae20ab73a4faa0c7cf557783351e783c5e5918fbdcd04704d67ec1971",
    "genesis-version" : 1,
    "genesis-timestamp" : 1483131719,
    "genesis-nbits" : 520159231,
    "genesis-nonce" : 69129,
    "genesis-pubkey-hash" : "890cc8508eaeb149bb2d6ad9f561f98f419d5321",
    "genesis-hash" : "000051284a844ffb1b0af45496865c8b53efbf8edc1190ba2a45ee85a2266ebb",
    "chain-params-hash" : "ffd5578ac7a6a90a67bf29e506dfc0acbe85cb219f46abc1597358b9f64611fe"

1 Answer

0 votes

Thanks, we've looked into this. Version 1.0.1 introduced a bug in appendrawdata that prevents it working with old protocol versions (below 10008) from legacy chains. So please stick to version 1.0 for now, and we'll fix this in 1.0.2. Or if it's not a big problem, start a new chain with a more recent protocol. From 10008 or later you can also upgrade/downgrade a chain's protocol using MultiChain 1.0.1, so you're future proofed. This is not the case in 10006.

answered Sep 29, 2017 by MultiChain
Thanks very much - appreciate the very quick response. I'll do both and move to the newer protocol moving forward
...