# Developer Tools

### Description Front-End **PSC API**

<table data-header-hidden><thead><tr><th width="202"></th><th></th></tr></thead><tbody><tr><td>Name</td><td>Description</td></tr><tr><td><a href="https://github.com/ethereum/web3.js/">Web3.js</a></td><td>Javascript Web3</td></tr><tr><td><a href="https://github.com/ethjs">Eth.js</a></td><td>Javascript Web3 Alternative</td></tr><tr><td><a href="https://github.com/ethers-io/ethers.js/">Ethers.js</a></td><td>Javascript Web3 alternative, useful utilities and wallet features</td></tr><tr><td><a href="https://github.com/paritytech/js-libs/tree/master/packages/light.js">light.js</a></td><td>Advanced responsive JS library optimized for light clients</td></tr><tr><td><a href="https://github.com/0xProject/0x-monorepo/tree/development/packages/web3-wrapper">Web3Wrapper</a></td><td>Typing Script Web3 Alternative</td></tr><tr><td><a href="https://github.com/ethereumjs/">Ethereumjs</a></td><td>A collection of Ethereum utility functions, such as <a href="https://github.com/ethereumjs/ethereumjs-util">ethereumjs-util</a> and <a href="https://github.com/ethereumjs/ethereumjs-tx">ethereumjs-tx</a></td></tr><tr><td><a href="https://github.com/merklejerk/flex-contract">flex-contract</a> and <a href="https://github.com/merklejerk/flex-ether">flex-ether</a></td><td>Modern, zero-configuration, advanced libraries for interacting and transacting with smart contracts.</td></tr><tr><td><a href="https://github.com/xf00f/web3x">web3x</a></td><td>TypeScript port for web3.js. Benefits include tiny builds and full type safety, including when interacting with contracts.</td></tr><tr><td><a href="https://github.com/Nethereum/">Nethereum</a></td><td>Cross-platform Ethereum development framework</td></tr><tr><td><a href="https://github.com/truffle-box/drizzle-box">Drizzle</a></td><td>Redux library for connecting the front-end to the blockchain</td></tr><tr><td><a href="https://github.com/tasitlabs/tasitsdk">Tasit SDK</a></td><td>Making a JavaScript SDK for native mobile Ethernet DAPP using React Native</td></tr><tr><td><a href="https://0x.org/docs/tools/subproviders">Subproviders</a></td><td>Several useful subproviders for use with the <a href="https://github.com/MetaMask/web3-provider-engine">Web3-provider-engine</a> (including the LedgerSubprovider for adding Ledger hardware wallet support to your dApp)</td></tr><tr><td><a href="https://github.com/NoahZinsmeister/web3-react">web3-react</a></td><td>React framework for building single-page Ethereum dApp</td></tr><tr><td><a href="https://github.com/ticket721/ethvtx">ethvtx</a></td><td>ethereum-ready &#x26; framework-agnostic redux store Configuration. <a href="https://ticket721.github.io/ethvtx/">Documentation</a></td></tr><tr><td><a href="https://github.com/liquality/chainabstractionlayer">ChainAbstractionLayer</a></td><td>Communicate with different blockchains (including Ether) using a single interface.</td></tr><tr><td><a href="https://github.com/svanas/delphereum">Delphereum</a></td><td>Delphi interface for the Ethernet blockchain, allowing the development of native dApp for Windows, macOS, iOS and Android.</td></tr><tr><td><a href="https://arkane.network/">Arkane</a></td><td>Javascript Web3, MetaMask alternative, no extensions required, cross-browser support, for mobile devices and the web. Built for mainstream user adoption. Also offers a rich back-end API</td></tr></tbody></table>

### Back-End **PSC API**



| Name                                                                                      | Description                                                                                                                                                                                            |
| ----------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [Web3.py](https://github.com/ethereum/web3.py)                                            | Python Web3                                                                                                                                                                                            |
| [Web3.php](https://github.com/sc0Vu/web3.php)                                             | PHP Web3                                                                                                                                                                                               |
| [Ethereum-php](https://github.com/digitaldonkey/ethereum-php)                             | PHP Web3                                                                                                                                                                                               |
| [Web3j](https://github.com/web3j/web3j)                                                   | Java Web3                                                                                                                                                                                              |
| [Nethereum](https://nethereum.com/)                                                       | .Net Web3                                                                                                                                                                                              |
| [Ethereum.rb](https://github.com/EthWorks/ethereum.rb)                                    | Ruby Web3                                                                                                                                                                                              |
| [Web3.hs](https://hackage.haskell.org/package/web3)                                       | Haskell Web3                                                                                                                                                                                           |
| [KEthereum](https://github.com/komputing/KEthereum)                                       | Kotlin Web3                                                                                                                                                                                            |
| [Eventeum](https://github.com/ConsenSys/eventeum)                                         | Bridge between Ethernet smart contract events and back-end microservices, written in Java by Kauri                                                                                                     |
| [Ethereumex](https://github.com/mana-ethereum/ethereumex)                                 | Elixir JSON-RPC Client for the Ethernet Blockchain                                                                                                                                                     |
| [Ethereum-jsonrpc-gateway](https://github.com/HydroProtocol/ethereum-jsonrpc-gateway)     | A gateway that allows you to run multiple Ethernet nodes for redundancy and load balancing. Can be run as a replacement for (or on top of) Infura. Written in Golang.                                  |
| [EthContract](https://github.com/AgileAlpha/eth_contract)                                 | A set of helper methods in Elixir to help query ETH smart contracts                                                                                                                                    |
| [Ethereum Contract Service](https://github.com/mesg-foundation/service-ethereum-contract) | MESG service that interacts with any Ethernet contract based on address and ABI.                                                                                                                       |
| [Ethereum Service](https://github.com/mesg-foundation/service-ethereum)                   | The MESG service that interacts with and interacts with events from Ethernet.                                                                                                                          |
| [Marmo](https://marmo.io/)                                                                | Python, JS, and Java SDKs for simplifying interaction with Ethernet. use relays to apportion transaction costs to relays.                                                                              |
| [Arkane](https://arkane.network/)                                                         | A set of APIs for querying the HSC, creating wallets, and executing transactions. APIs include the ability to create and manage ERC721 and ERC1155 NFTs on the HSC. A rich front-end is also provided. |



### Bootloader/Out-of-the-box Tools

| Name                                                                                                    | Description                                                                                                                                                                                                                                                            |
| ------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Truffle boxes](https://trufflesuite.com/boxes)                                                         | Packaged Components for the Ethernet Ecosystem                                                                                                                                                                                                                         |
| [Private networks deployment scripts](https://github.com/ConsenSys/private-networks-deployment-scripts) | Out-of-the-box deployment script for dedicated PoA networks                                                                                                                                                                                                            |
| [Local Ethereum Network](https://github.com/ConsenSys/local_ethereum_network)                           | Out-of-the-box deployment script for private PoW networks                                                                                                                                                                                                              |
| [Cheshire](https://github.com/endless-nameless-inc/cheshire)                                            | Native sandbox implementation of the CryptoKitties API and smart contracts that can be used as Truffle Box                                                                                                                                                             |
| [aragonCLI](https://github.com/aragon/aragon-cli)                                                       | The aragonCLI is used to create and develop Aragon applications and organizations.                                                                                                                                                                                     |
| [ArcJS](https://github.com/daostack/arc.js)                                                             | A library that facilitates javascript applications to access DAOstack Arc Ethereum smart contracts.                                                                                                                                                                    |
| [Blocknative](https://blocknative.com/)                                                                 | Assist.js is an embeddable widget that improves the usability of the Dapp. The tool programmatically identifies and outlines clear actions for end users to follow when interacting with MetaMask in order to overcome and even prevent common pitfalls and obstacles. |
| [Arkane](https://arkane.network/)                                                                       | PWallet provider for PSC Dapps with social login and HSC NFT support (ERC721 and ERC1155)                                                                                                                                                                              |

[**Ethereum ABI (Application Binary Interface) tools**](https://docs.hoosmartchain.com/#/en-us/dev/ecosystem?id=ethereum-abi-application-binary-interface-tools)

| Name                                                                                      | Description                                                                                                                                                                 |
| ----------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [ABI decoder](https://github.com/ConsenSys/abi-decoder)                                   | Library for decoding data parameters and events from Ethereum transactions                                                                                                  |
| [ABI-gen](https://github.com/0xProject/0x-monorepo/tree/development/packages/abi-gen)     | Generates a Typescript contract wrapper from the contract ABI.                                                                                                              |
| [Ethereum ABI UI](https://github.com/hiddentao/ethereum-abi-ui)                           | Automated generation of UI form field definitions and associated validators from the Ethernet contract ABI                                                                  |
| [headlong](https://github.com/esaulpaugh/headlong/)                                       | Type-safe contract ABI and recursive length prefix libraries in Java                                                                                                        |
| [Truffle Pig](https://npmjs.com/package/trufflepig)                                       | A development tool that provides a simple HTTP API to find and read Truffle-generated contract files for use during local development. Provides new contract ABIs via http. |
| [Ethereum Contract Service](https://github.com/mesg-foundation/service-ethereum-contract) | MESG service that interacts with any Ethernet contract based on address and ABI.                                                                                            |
| [Nethereum-CodeGenerator](https://github.com/StefH/Nethereum-CodeGenerator)               | A web-based generator that creates Nethereum-based C# interfaces and services based on Solidity smart contracts.                                                            |

### Infrastructure <a href="#infrastructure" id="infrastructure"></a>

**Ethernet Client**

| Name                                                              | Description                                                                                                   |
| ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
| [Seth](https://github.com/dapphub/dapptools/tree/master/src/seth) | Seth is an ethereum client tool - like a "MetaMask for the command line"                                      |
| [Ankr](https://www.ankr.com/)                                     | Supports one-click deployment of HSC and provides instant API access to major blockchains and DeFi protocols. |

[**Messaging**](https://docs.hoosmartchain.com/#/en-us/dev/ecosystem?id=messaging)

| Name                                                                           | Description                                                                                                            |
| ------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------- |
| [Whisper](https://github.com/ethereum/wiki/wiki/Whisper)                       | Communication protocol for DApps to communicate with each other, native base layer services of the Ethernet web3 stack |
| [DEVp2p Wire Protocol](https://github.com/ethereum/devp2p/blob/master/rlpx.md) | Peer-to-peer communication between nodes running Ethereum/Whisper                                                      |
| [Pydevp2p](https://github.com/ethereum/pydevp2p)                               | Python implementation of the RLPx network layer                                                                        |
| [3Box Threads](https://docs.3box.io/api/messaging)                             | AAPI allows developers to implement IPFS persistence, or peer-to-peer messaging in memory.                             |

#### Data

| Name                             | Description                                                      |
| -------------------------------- | ---------------------------------------------------------------- |
| [Bitquery](https://bitquery.io/) | GraphQL API for getting historical and real-time blockchain data |

#### [Testing Tools](https://docs.hoosmartchain.com/#/en-us/dev/ecosystem?id=testing-tools) <a href="#testing-tools" id="testing-tools"></a>

| Name                                                                                                      | Description                                                                                                                                                                                                    |
| --------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Solidity code coverage](https://github.com/0xProject/0x-monorepo/tree/development/packages/sol-coverage) | Solidity Code Override Tool                                                                                                                                                                                    |
| [Solidity coverage](https://github.com/sc-forks/solidity-coverage)                                        | Alternative Code Coverage for Solidity Smart Contracts                                                                                                                                                         |
| [Solidity function profiler](https://github.com/EricR/sol-function-profiler)                              | Solidity Contract Function Analyzer                                                                                                                                                                            |
| [Sol-profiler](https://github.com/Aniket-Engg/sol-profiler)                                               | Alternative and updated Solidity Smart Contract Analyzer                                                                                                                                                       |
| [Espresso](https://github.com/hillstreetlabs/espresso)                                                    | Fast, parallel, thermal heavy-duty reliability testing framework                                                                                                                                               |
| [Eth tester](https://github.com/ethereum/eth-tester)                                                      | Tool suite for testing ethereum applications                                                                                                                                                                   |
| [Cliquebait](https://github.com/f-o-a-m/cliquebait)                                                       | Simplify integration and acceptance testing of smart contract applications with docker instances that closely resemble real blockchain networks                                                                |
| [Hevm](https://github.com/dapphub/dapptools/tree/master/src/hevm)                                         | The hevm project is an implementation of the Ethernet Virtual Machine (EVM) dedicated to unit testing and debugging smart contracts                                                                            |
| [Ethereum graph debugger](https://github.com/fergarrui/ethereum-graph-debugger)                           | Solidity Graphical Debugger                                                                                                                                                                                    |
| [Tenderly CLI](https://github.com/Tenderly/tenderly-cli)                                                  | Accelerate your development with human-readable stack tracing                                                                                                                                                  |
| [Solhint](https://github.com/protofire/solhint)                                                           | Solidity linter, providing security, style guides and best practice rules for smart contract validation                                                                                                        |
| [Ethlint](https://github.com/duaraghav8/Ethlint)                                                          | Linter for identifying and fixing style and security issues in Solidity (formerly Solium)                                                                                                                      |
| [Decode](https://github.com/hacker-DOM/decode)                                                            | npm package, which parses tx submitted to the local testrpc node to make them more readable and easier to understand                                                                                           |
| [truffle-assertions](https://github.com/rkalis/truffle-assertions)                                        | An npm package with additional assertions and utilities for testing Solidity smart contracts with truffle. Most importantly, it adds the ability to assert whether a particular event has been emitted or not. |
| [Psol](https://github.com/Lamarkaz/psol)                                                                  | Solidity lexical preprocessor with mustache.js style syntax, macros, conditional compilation, and automatic remote dependency inclusion.                                                                       |
| [solpp](https://github.com/merklejerk/solpp)                                                              | Solidity preprocessor and leveler with a comprehensive command and expression language, high precision math, and many useful helper functions.                                                                 |
| [Decode and Publish](https://flightwallet.github.io/decode-eth-tx/)                                       | Decode and publish raw ethereum tx. Similar to [https://live.blockcypher.com/btc-testnet/decodetx/](https://live.blockcypher.com/btc-testnet/decodetx/)                                                        |
| [Doppelgänger](https://getdoppelganger.io/)                                                               | A library for simulating smart contract dependencies during unit testing.                                                                                                                                      |
| [rocketh](https://github.com/wighawag/rocketh)                                                            | A simple library for testing ethereum smart contracts, allowing the use of any web3 library and test runner of your choice.                                                                                    |
| [pytest-cobra](https://github.com/cobraframework/pytest-cobra)                                            | PyTest plugin for testing smart contracts on the ethereum blockchain.                                                                                                                                          |
