Links

General development information

This page contains general information about development such as languages, libraries and tools we use
Languages
Code Libraries
Tools

Frontend

  • Javascript (vanilla)
  • React
  • CSS
  • HTML
  • JSON

Blockchain

  • Solidity

Others

  • MarkDown (MD for simple documents)
  • YAML (Docker images and Github Actions)

Web3 (Javascript)

NPM version by official dev team web3 - npm (npmjs.com)
Browser version (named Web3Browser) by EthereansOS dev team dfo-hub/web3.min.js at master · b-u-i-d-l/dfo-hub (github.com)
A multi utility library to:
  • Communicate with Ethereum Wallet custodian apps (e.g.Metamask/Ganache) for signing messages and transactions to be sent on the Ethereum Blockchain;
  • Communicate with Ethereum Blockchain Nodes via HTTP/WS protocols, using JSON-RPC methods, to send transactions and retrieve info (e.g. Smart Contract Calls/Events) by the Ethereum blockchain;
  • Access all utility methods to operate with Smart Contracts and Transactions (e.g. Big Numbers Math Operations/Conversions, Hashes).

EthersJS (Javascript)

A Javascript library to manage Ethereum ABI v2 Encode and Decode Routines

Monaco editor (Javascript)

NPM version by official dev team monaco-editor - npm (npmjs.com)
A on-line visual code editor for on-the-fly code and compilation of Smart Contracts.

SolidityUtilities by EtheransOS (Javascript)

A toolset for Dapps that can be used directly in browser to easily:
  • Fetch, Download and manage different versions of the Javascript Solidity Compiler binaries;
  • Compile Smart Contracts;
  • Compare Solidity source Code and Smart Contract binaries;
  • Retrieve Solidity Version by already-on-chain Smart Contract address.

Ganache-Core (Javascript)

NPM version by official dev team ganache-core - npm (npmjs.com)
A Ethereum Blockchain Node with forking capabilities to easily develop and test Smart Contracts and Dapps

Mocha (Javascript)

A tool to easily manage Javascript tests and prototypes

Solidity Version Manager by EthereansOS (Javascript/CLI)

A simple Solidity Version Manager to easily download and manage different versions of the official C++ Solidity Compiler Binaries

EthereansOS Test Suite (Javascript)

A set of tools to easily compile, run and test general purpose Smart Contracts, DFOs and related Proposals in a forked Ethereum Mainnet Blockchain in order to obtain Dapps which source code works with a fidelity tending to 100% with the real final execution environment for both on-chain and off-chain sides.

NODEJS & NPM (Javascript)

Node.js
A Javascript runtime engine

OpenZeppelin Contracts (Solidity)

A set of common Solidity Interfaces and code stubs to easily integrate the most-used protocols.