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 https://github.com/intellij-solidity/intellij-solidity
  • 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 ()https://github.com/dbrainio/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 https://www.npmjs.com/package/web3-typescript-typings

Debugger

Only the Truffle debugger for now http://truffleframework.com/docs/getting_started/debugging 

Running unit test

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

CI in Travis with Docker, .travis.yml

dist: trusty
sudo: required
group: beta
language: node_js
node_js:
  - "8"
cache:
  directories:
    - node_modules
before_script:
  - truffle version
script:
  - npm run lint
  - npm run test
notifications:
  slack:
    rooms:
      - 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 https://github.com/trufflesuite/ganache-cli/issues/390 

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.

 

You might like also

#ALPINE-HACK19 4 – 5 October, 2019
On October 4th and 5th, the AlpineHack19 will be held, a blockchain-themed hackathon. The opportunity to bring together software developers, hackers, information technology enthusiasts and SMEs to showcase their know-how. The aim for the participants is to develop a functioning open-source software or #hardware prototype – solutions that eliminate real problems, for real companies. #Blockchain Technology will be the center of all predefined challenges. 24 hours of #Innovation, personal development and lots of fun. I will be there as hackathon mentor …
49 Days ago
CryptoMountain Rocks in Sion 3-5 october 2019
CryptoMountain Rocks is a platform for Blockchainers from the Crypto Valley and beyond that offers a very inter-active conference with presentations, panels and talks battles. I will be there 3 days as a speaker and hackathon mentor. The event discusses latest Blockchain applications and talks about the impact of the new token economy on the way we do business. In parallel there will be the first CryptoMountain Rocks #ALPINE-HACK19 covering themes such as Agriculture, Energy and Supply Chain. …
49 Days ago
A git workflow that is easy and scale for product development
There are numerous GIT workflow floating around like Centralized Workflow, Gitflow, Forking flow and Feature Branch Workflow Over the last 10 years, I have followed this really simple workflow, similar to the forking flow. it allow Parallel Development, features branches can be merged to any release branches or ideally Master Collaboration Feature branches also make it easier for two or more developers to collaborate on the same feature We consider Master the stable version of the product, this branch should be deployed automatically using …
73 Days ago
Using free Cloudflare for CDN and DDoS protection
Cloudflare, Inc. is an American web infrastructure and website security company, providing content delivery network services, DDoS mitigation, Internet security, and distributed domain name server services.  It will cost you 0$ (DDOS, CDN) to 20$ or more and offer you the following advantages DDoS is short for Distributed Denial of Service. DDoSis a type of DOS attack where multiple compromised systems, which are often infected with a Trojan, are used to target a single system causing a Denial of Service …
73 Days ago
Add Docker container logs in Splunk
With Splunk You will be able to optimize container usage by monitoring CPU, memory, disk and network performance metrics from your containers. Pay only for what you need by managing resources and measuring the impact on service reliability and container resource requirements. Get a complete overview of Kubernetes and OpenShift Environments Correlate performance metrics, container logs and OpenShift/Kubernetes configuration and metadata for a better understanding of how your infrastructure is performing and how hosted applications are behaving. …
73 Days ago
Installing latest Splunk in 5 minutes using Docker
From 0 to Splunk in 5 minutes using Docker and Compose Splunk is an American multinational corporation headquartered in San Francisco, California, which produces software for searching, monitoring, and analyzing machine-generated big data, via a web-style interface. Docker is an open source software platform to create, deploy and manage virtualized application containers on a common operating system (OS), with an ecosystem of allied tools.  Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a YAML file to configure your application's services. Then, with …
73 Days ago
Explore 142 Initial Exchange Offering  (IEO) by category, year and country
IEO is currently the most popular fundraising trend in the crypto industry. As the name suggests, Initial Exchange Offering is conducted over the crypto trading platform and exchanges. So unlike ICOs wherein crypto projects directly approach investors, IEOs involve a third-party in the form of crypto exchanges. …
167 Days ago
Security Token Offering (STO) statistics
Security token offering (STO) is a type of fundraising that is performed with a company offering tokenized securities. The defining feature of security token offerings is in its definition. Stocks, bonds and managed property trusts are another examples of securities. …
168 Days ago
systematization of knowledge within major blockchain protocols or consensus
Alexis Gauba presented a systematization of knowledge within major blockchain protocols or consensus, addresses the common challenges …
246 Days ago
Stablecoins: Crypto's Holy Grail or Fools’ Errand? by Dr Garrick Hileman
I was attending the interesting LECTURE "Stablecoins: Crypto's Holy Grail or Fools’ Errand?" by Dr Garrick Hileman - Head of reseach at Blockchain - London School of Economics - United Kingdom at hashtag#ETH hashtag#Zurich and here is a copy of the slides Introducing: 2019 State of Stablecoins The 2019 report builds on its predecessor to provide an updated and expanded look at the current state of the stablecoin market - a space where we expect to see significant innovation in …
246 Days ago