Some tips on smart contract migration to Azure Blockchain Service (Quorum)

Tools Versions

The first thing to check is the version of the various tools that are necessary for the creation and migration of the various smart contracts. To check the version of the various tools just use the following command line

It is essential to adopt exactly the versions as shown in the figure, especially as regards the version of Web3.js which must necessarily be 1.0.0-beta.37. It is also necessary to make sure that the Python version is 2.7

New Account

At this point it is necessary to create a new account within our blockchain. We declare the network with all its features in the truffle-config.js file

Then we connect to the node through a truffle console and use the following command line:

Truffle-config.js

We modify the truffle-config.js through the insertion of the new account that we will use for the migration:

Now Migrate!

We underline an important point. As we see in the figure we had to insert a directive concerning the solidity compiler. When we entered the indication on the type of Virtual Machine (in our case the 'byzantium' which apparently is not the default one), our migration was successful through the following command line:

I recommend using the --reset option