Here are the list of tips and tricks to develop solidity in a modern way (understand back to 2017 year :-) )

IDE Support

I recommend you to use the excellent Jetbrains Webstorm or Intellij IDEA with the folllowing free plugins:

  • Intellij-Solidity see
  • Solidity Solhint Plugin allow to enable Solhint inspection capabilities in your project. It highlight of warnings / errors found by the linter in editor during code modification.
  • Refactoring in Javascript is excellent but still not supported in Solidity,

Auto-completion of solidity

Your smart contract code also deserve to be recognized by your IDE and in your test-cases. In order to enjoy auto-completion you'll have to use Soltsice () to convert Solidity code to TypeScript at compile time.

Add to your package.json

"scripts": {

"types": "soltsice build/contracts types",

"devDependencies": {

"soltsice": "^0.9.8"


After any major changes to your Solidity code, run "npn run types", once done you can enjoy auto-completion in javascript and in solidity!

Auto-completion in Javascript

Chances are high that you are writing a lot of unit tests, integration tests...I hope you do. In order to get hint from the IDE, you'll need under IDEA/WebStorm settings - Javascript - to add the following libraries by clicking [ download ]

mocha, jasmine, chai, chai-as-promised, babel-core, add as much as your are using in your code.

FYI by doing so  you just add typedscript packages from DefinitelyTyped GitHub project.

Auto-completion of Web3 

Web3 is the Ethereum compatible JavaScript API which implements the Generic JSON RPC spec. It's available on npm as a node module, for bower and component as an embeddable js and as a meteor.js package.

There currently no official Web3 type definition included in the DefinitelyTyped project. But there is one package good enough even if in Beta at


Only the Truffle debugger for now 

Running unit test

Using Karma is still a work in progress with TruffleSuite. A karma-trufflesuite runner is missing ( but i am developing one!

CI in Travis with Docker, .travis.yml

dist: trusty
sudo: required
group: beta
language: node_js
  - "8"
    - node_modules
  - truffle version
  - npm run lint
  - npm run test
      - secure: xxxxxxxxxxxxxxxx
    on_success: change
    on_failure: always
    on_pull_requests: false

Easy testing of EVM Time shifting  with Truffle snapshot/restore

Buggy right now, but may be solved soon see 

This is a work in progress, i will continue trying to improve my day to day Solidity toolbox! If you have more tips, feel free to use the comment section below.


comments powered by Disqus

You might like also

But what *is* a Neural Network? part 2
Neural Networks Demystified [Part 1: Data and Architecture] Neural Networks Demystified [Part 2: Forward Propagation] Neural Networks Demystified [Part 3: Gradient Descent] Neural Networks Demystified [Part 4: Backpropagation] Neural Networks Demystified [Part 5: Numerical Gradient Checking] Neural Networks Demystified [Part 6: Training] Neural Networks Demystified [Part 7: Overfitting, Testing, and Regularization] …
4 Days ago
But what *is* a Neural Network?
Here are the best video i've found on the subject. Moreover this channel is among the best also for learning mathematical concept in a very didactic way! Chapter 1, deep learning Gradient descent, how neural networks learn What is backpropagation really doing? Backpropagation calculus …
4 Days ago
The Business Blockchain: Promise, Practice, and Application of the Next Internet Technology
The Business blockchain by William Mougayar is a good primer for understanding the potential impact of the block chain and a fantastic insight into the future applications of blockchain technology.  The intro, by Ethereum's founder, Vitalik Buterin, did a very good job at setting the picture up of how the blockchain is an inevitable byproduct of the times, created by a need for trust. William Mougayar does not go into specific short term ways of teaching you how to create value via the …
4 Days ago
Blockchain Crypto Valley Map
For the first time a comprehensive overview is available that shows the size, importance and diversity of the whole ecosystem in the Crypto Valley. lists more than 350 companies developing and using blockchain technologies The Swiss blockchain ecosystem, also known as the Crypto Valley, is home to a growing number of startups, service providers and other organizations. The Crypto Valley Map is a constantly updated database of these ecosystem contributors, provided for free. I was having lots of fun implementing …
4 Days ago
Jincor Targets to Bring Smart Contracts to 10,000 Businesses by the end of 2018
Even though everyone is talking about smart contracts and their advantages over traditional paper contracts, only a handful of people are addressing the elephant in the room: most of the businesses don’t know how to use smart contracts yet. Jincor is among those few who are trying to make smart contracts and other blockchain technologies more accessible to modern businesses. And anyone can chime in by joining the project’s public token sale, which starts today, on the 1st of December. Jincor is a …
96 Days ago
How to accept Bitcoin on a website using Electrum and Letsencrypt
This tutorial will show you how to accept Bitcoin on a website with SSL signed payment requests using Electrum, required is a shell access and enough permission to install electrum A webserver serving static HTML A SSL certificate (signed by a CA) Electrum version >= 2.6 Install dependencies: sudo apt-get install python3-setuptools python3-pyqt5 python3-pip Install Electrum: sudo pip3 install then run on your server electrum create electrum daemon start electrum setconfig ssl_privkey /etc/letsencrypt/live/ electrum setconfig ssl_chain /etc/letsencrypt/live/  electrum setconfig …
98 Days ago
No Thumbnail was found
work in progress - daily update Feedback is welcome in comments section, or through my contact form click on map, to view in full size …
150 Days ago
How to: Securing your Crypto  Assets
work in progress - daily update - a more convenient online version is also hosted at  Pull requests are welcomed! Feedback is welcome in comments section, or through my contact form click on map, to view in full size …
150 Days ago
Big Bang Blockchain: La seconde révolution d'internet de Stéphane Loignon
La blockchain est annoncée comme une révolution technologique, économique, politique et sociétale aussi puissante qu’Internet. Cette « chaîne de blocs » promet d’être l’outil incontournable de demain. À quoi sert la blockchain ? Cette nouvelle technologie permet avant tout d’envoyer de l’argent en ligne sans intermédiaire : ni banque, ni compagnie de carte de crédit. Elle pourrait bouleverser la finance, l’assurance et le transfert d’argent tout en étant le moteur d’un vaste mouvement de décentralisation de l’économie numérique. Grâce à elle, certains rêvent …
168 Days ago
Blockchain definitions
  Blocks & Transactions Transaction data is permanently recorded in files called blocks. They can be thought of as the individual pages of a city recorder's recordbook (where changes to title to real estate are recorded) or a stock transaction ledger. Blocks are organized into a linear sequence over time ("Miner" or "Worker") also known as the block chain). New transactions are constantly being processed by Miners (into new blocks which are added to the end of the chain and …
169 Days ago