I am using truffle to write smart contracts , my code and deployments work well on local ethereum rpc.

Now i added another environment in "truffle.js" file with url to my azure "Ethereum Consortium Leader" rpc .

When I first tried to deploy, i got Locked account error. Then I unlocked my account using provided credentials during setup, using powershell and ssh address also taken from azure deployment.

However now the locked account error goes away.. but my deployment is stuck "Deploying initial_migration.." for few hours now..

Is there anywhere I can find what's wrong? it works perfect locally.

  • 1
    Not really an Azure answer, but ... are you certain at least one node is mining? What you describe happens on private nets when nothing is mining blocks. Commented Jun 24, 2017 at 18:34
  • how do i make sure of it? Commented Jun 25, 2017 at 8:47

3 Answers 3


Not specific to Azure.

In geth, you can

> web3.eth.blockNumber

If this number is not rising, no one is mining.

On one of your well-connected nodes, make sure web.3eth.coinbase is set to an account, usually the first account (same one you unlocked), and then


to mine with one thread.

The block number should increase on all nodes as they learn about new blocks.

Hope it helps.


I have the same issue with azure ethereum consortium leader 2/7/18. I was able to migrate by setting the gas limit under the default. Example truffle.js:

module.exports = {
    // See <http://truffleframework.com/docs/advanced/configuration>
    // to customize your Truffle configuration!
    networks: {
        rpc: {
            host: "",
            port: 8545,
            network_id: "*"
        "live": {
            host: "<ETHEREUM-RPC-ENDPOINT without http:// and port number>",
            port: 8545,
            network_id: "1",
            gas: 4612388 // default: 4712388

It wasn't available last year, but now, I found it easy to create a PoA Ethereum network on Azure and deploy a Smart Contract. I recorded it here.

You fill-in a form with some straightforward information:

enter image description here

Then you choose regions,

enter image description here

select number of validator instances:

enter image description here

and finally you set and admin Ethereum address for PoA:

enter image description here

There are some advanced options in the same form that one can leave to the defaults.

The deployment takes about 10 minutes. This is their official documentation. It's slightly out-of-date.

More specifically, to get your endpoint URL, you have to click to Resource Groups > Deployments > {the last thing in the list} > Outputs:

enter image description here.

Their (self-reported) cost and performance characteristics can be found here:

enter image description here

  • Hi, can you further elaborate your answer? Link-only answers are discouraged, because the link can go down etc.
    – Briomkez
    Commented Nov 4, 2018 at 10:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.