This is pretty good: https://github.com/ConsenSys/quorum-wizard
npx quorum-wizard
Simple network. Raft consensus. Latest versions. Cakeshop
./start.sh
Getting the minimal upgradeable smart contract from here: Truffle Upgrades on Windows: Error: Artifacts are from different compiler runs - #4 by marsxr
In the truffle-config.js
networks: {
quorum: {
host: "127.0.0.1",
port: 22000,
network_id: "*",
gasPrice: 0,
type: "quorum"
},
truffle migrate --network quorum
Compiling your contracts...
===========================
✔ Fetching solc version list from solc-bin. Attempt #1
> Everything is up to date, there is nothing to compile.
Starting migrations...
======================
> Network name: 'quorum'
> Network id: 10
> Block gas limit: 3756261602 (0xdfe400e2)
1_initial_migration.js
======================
Deploying 'Migrations'
----------------------
> transaction hash: 0x5659afe65755c016d955f5d1d3d15b65225ff3b99c9095a7bb03a9c0c0cee4b2
Error: *** Deployment Failed ***
"Migrations" -- Transaction was not mined within 750 seconds, please make sure your transaction was properly sent. Be aware that it might still be mined!.
Can deploy using Cakeshop: http://localhost:8999/ as well as Remix
Cannot deploy using Truffle
I'm very lucky to be employed by a blockchain-related company that allows me to experiment with stuff, learn more, dig deeper... Entertain my intellectual curiosity and solve some problems along the way.
I'm thinking whether upgradeable on Quorum is required? If the gas is 0 and control all the nodes then can simply deploy new contract and update config file?
Slightly related: https://github.com/ethereum-oasis/baseline/issues/222
Questions: Is upgradability a desired business feature?
EDIT: attempt to unlock the account
ssh
into Docker
or CLI as on the screenshot below:
geth attach /qdata/dd/geth.ipc
personal.unlockAccount(eth.accounts[0])
Password: NONE (just press enter)
Result: same. It's no the issue with the locked account. If it was the case, the error would say that explicitly, not 750 seconds timeout.