EOS Ecosystem for Developers [Infographics]

EOS Ecosystem for Developers [Infographics]

Blockchain EOS Open Source Software
December 20, 2018 by Leo Webb
3494
EOS for developers

Our partner web3.agency created the infographic “EOS ecosystem for Developers“, where you can get the list of APIs, plugins, frameworks and other useful tools for EOS developers. Most of the projects are open source, so feel free to use them in your own work. Happy coding and don’t forget to save a link to this article.

 

EOS Ecosystem for Developers

EOS ecosystem for Developers

pdf version / full-sized image / spreadsheet

Short description of the projects

Analytics

  • eosjs-json keeps information about the EOS blockchain parsable and available to the JSON. Designed by EOS.io.

 

  • EOS ZeroMQ Receiver is a set of scripts that are designed to receive and process the data flow that is generated by nodeos ZeroMQ plugin. The plugin exports every action on the blockchain, and also balances of assets and accounts involved in every transaction. The tools are written in Perl, and they require a MySQL server.

 

  • EOSIO MongoDB Queries allows to create complex MongoDB Queries for the EOSIO blockchain. Created by EOS BP developers in TypeScript.

 

  • BLOCKS ARCHIVE – regular daily backups of the blocks data directory by Block Matrix.

 

  • MAINNET SNAPSHOTS – hourly snapshots of the EOS mainnet. Designed by Block Matrix.

Block Explorers

  • With EOS Node Watcher you can easily replay chains from the desired block, filter the block actions related to your desired contracts and submit it to your desired channel: message queues, websockets, databases etc. Created by EOS Essentials in JavaScript.

 

  • EOS Tracker is a frontend based on Angular4 that connects to EOS Tracker API by EOS Essentials.

 

  • Bloks.io – a complete EOS block explorer with the functionality: live EOS Monitor (with all block producers); live transaction monitor (with filtering on accounts/actions); voting portal; token list and marketcaps; full account data; Onchain blacklists and BP Jsons; complete chain data including RAM, CPU, NET limits; View tables of any contract. Developed by EOS CafeHKEOS.

 

  • eosq – block explorer developed by EOS Canada for the EOS community. It contains data about transactions, blocks and block producers.

 

 

 

  • EOS Monitor is useful to get information about EOS tokens, balances, accounts, contracts, transactions and actions. Tool is in a pre-alpha version. Created by EOSTEA.

API

  • C/C++ API can be used for querying and sending action. Developed by EOS.io.

 

  • keosd – C++ component that securely stores EOSIO keys in wallets. Created by EOS.io.

 

  • eosjs-api – read-only application programming interface to EOS blockchain nodes. Designed by EOS Essentials in JavaScript.

 

  • EOS API Service – is a platform to allow third-party clients to connect to an eosd blockchain network. Created by Tendem.ly in JavaScript.

 

  • EOSIO GraphQL. Deploy a GraphQL API + MongoDB for the EOSIO blockchain. Created by EOS BP Developers.

 

  • dfuse – streaming API for EOS, by EOS Canada.

SDK

  • PHP EOS RPC SDK – a PHP wrapper for the EOS chain RPC API, by Block Matrix.

 

  • EOS AUTOMATION helps you to automate frequent tasks such as restarting or stopping the nodeos process. There is a management playbook which helps you perform frequent tasks such as restarting or stopping the nodeos process. Designed by Block Matrix.

Applications

  • Kendraio – is a set of projects for the media industry. It’s being developed in TypeScript for musicians, artists, bands, writers, filmmakers, photographers, record labels, managers, all need to manage the production process in more efficient ways. Tools will assist with collaborative workflow and rights management.

Plugins

  • EOSIO AWS Kinesis Plugin makes it easy to collect, process, and analyze real-time, streaming data so you can get timely insights and react quickly to new information. The EOSIO AWS Kinesis plugin can make setting things up a little easier if you are using AWS. Designed by EOS Asia in C++.

 

  • EOS RabitMQ Plugin is an EOS plugin for RabbitMQ – one of the most popular open source message broker. Bancor designed plugin in C++.

 

  • EOS ZeroMQ Plugin pushes history events outside of nodeos process via ZeroMQ PUSH socket. Developed in C++.

 

  • EOSIO Kafka Plugin is used for building real-time data pipelines and streaming apps. This plugin allows you to utilize all of Kafka’s rich real-time features utilizing the EOS blockchain. Developed by TokenPocket Lab in C++.

 

  • EOS Plugin – web-extension (Chrome and FireFox) EOS plugin. It allows you to run EOS dApps right in your browser without running a full EOS node. Created by EOSWebWallet team in TypeScript.

Wallets with API

  • Guarda wallet has Public and Extension APIs. Guarda Extension allows to access DApps, that works with Ethereum, Bitcoin and other blockchains, directly from Chrome Browser. It integrates Guarda Wallet on the web page. The Guarda Extension exposes the web3 API by an injected web3 object which you can access via JavaScript. Using wallets api you can access such a user’s wallet information as an address and balance. Also, with extension you can add deeplinks (buttons) to the web page which allow users to pay easily. Created by Guardarian OÜ in JavaScript.

 

  • EOS Lynx wallet has a desktop and mobile APIs which allow you to get account information and confirm wallet owner, transfer tokens, call contracts, etc. Designed by Needly, Inc.

Wallets with SDK

  • Scatter SDK is easy to implement by `eosjs` and `web3` libraries, cross-platformed and multi-blockchain. Also, it has huge developer documentation. Created in JavaScipt.

 

  • Math Wallet – Chinese wallet with SDK, the most of documentation is o has customized API based on jQuery; it’s compatible with metamask and web3 API; supported TronWeb API. SDK provides you with more current wallet information, such as orientation, language, fullscreen, etc.

 

  • imToken 2.0 wallet has two SDKs. Tokenlon-SDK is based on the 0x protocol and 0x.js,providing APIs for developers to create automated trading, out of DApps. DApp-SDK helps decentralized application (DApp) developers using the imToken Wallet app to leverage all functions of the imToken DApp SDK. Both SDKs are developed in JavaScript.

Protocols

  • FeeSimple is an open source blockchain-based protocol that uses groundbreaking distributed database technologies to enable end-to-end real estate applications. Created in C++.

 

  • EOS Network Discovery Files is a repository proposes a protocol for autonomous Block Producers participation in an EOS.IO Software based blockchain launch. It is used by the ‘eos-bios’ program to boot or help you join a network. Designed by EOS Canada in Shell.

 

  • Dciti is a blockchain protocol on the EOSIO software that can be deployed to provide decentralized and blockchain based operating system to new and existing smart cities that want to operate a crypto-based economy. It opens up an opportunity for decentralized smart solutions to be offered to smart city residents. This blockchain solution can be utilized to create a connection between the physical infrastructures of a smart city and open distributed ledger technology.

Frameworks

  • SwiftyEOS is an open-source framework for interacting with EOS, written in Swift and developed by ProChain. Can be used on iOS and macOS. Features: EOS key pairs generation; private key import; signature hash; basic RPC API (chain/history) query client; transaction (EOS token transfer); helper class for handling offline wallet on iOS; encrypt/decrypt importing private key on iOS.

 

  • EOS Mechanics – benchmark contracts and utilities. CPU Benchmark targets the CPU by calculating Mersenne prime numbers. RAM Benchmark targets EOS RAM by rapidly writing to and reading from a RAM table. EOS MECHANICS – research group which collaborated with Aloha EOS, EOS TITAN, Greymass. Written in C++.

 

  • EOSFactory is a Python-based EOS smart-contract development & testing framework, created by Tokenika. The goal is to achieve similar functionality to Ethereum’s Truffle Framework. With a single command-line interface you can create a private testnet and then compile, test and deploy EOS smart-contracts.

Libraries

  • EOS Sharp – C# client library for EOS blockchains, created by Scatter.

 

  • FC stands for fast-compiling C++ library and provides a set of utility libraries useful for the development of asynchronous libraries. Some of the highlights include: cooperative Multi-Tasking Library with support for futures, mutexes, signals; wrapper on Boost ASIO; reflection for C++ allowing automatic serialization in Json & Binary of C++ Structs; automatic generation of client / server stubs for reflected interfaces with support for JSON-RPC; cryptographic primitives for a variety of hashes and encryption algorithms; logging infrastructure; wraps many Boost APIs, such as boost::filesystem, boost::thread, and boost::exception to accelerate compiles; support for unofficial Boost. Process library.

 

  • Incoming Transfer Rules is a transfer filter contract based on several rules. EOS has a method to check incoming transfers and This contract makes token transfers to it fail, if memo in those transfers does not satisfy certain conditions. Designed by EOS Authority in C++.

 

  • *eos-go provides simple access to data structures (binary packing and JSON interface) and API calls to an EOS.IO RPC server, running remotely or locally. It provides wallet functionalities (KeyBag) or can sign transaction through the keosd wallet. It also knows about the P2P protocol on port 9876. This library is the basis for the eos-bios launch orchestrator tool. Developed by EOS Canada, written in Go.

 

  • PatronEOS provides a layer of protection for EOSIO nodes designed to protect against some of the basic Denial of Service attack vectors. Created by EOS.io in Go.

 

  • EOS Communication – node.js module allows on-chain encrypted communication on the EOS platform, created by EOS Titan.

 

  • EOS JVM – EOS libraries for the JVM, designed primarily for Android development. Written in Kotlin.

 

  • EOSpy – Python-based library which is still a work in progress but currently has the ability to perform all ‘cleos get’ functions without compiling the code. The library now supports signing transactions/key creation for both python 2.7 and 3.x. This is the first iteration and is very rough. The key creation has not been tested fully and should be used at your own risk. Developed by EOS New York.

 

  • EOS Helpers – a list of bash scripts to help with EOSIO. Written in Shell by EOS Essentials.

 

  • Eosjs – General purpose library for the EOS blockchain, written in TypeScript by EOSIO. eosjs – Javascript API for integration with EOSIO-based blockchains using EOSIO RPC API.

 

  • Demux is a library that serves as a reference to Demux pattern for use with Node applications. Demux, a backend infrastructure pattern is for sourcing blockchain events to deterministically update queryable datastores and trigger side effects. Developed by EOSIO in TypeScript.

Packages / Wrappers

  • `eos-bios` – orchestrator for a decentralized EOS.IO blockchain network boot. Designed by EOS Canada in Go.

 

  • EOSIO Docker provides simple & fast setup of EOS.IO on Docker. Written in C++ by EOSIO.

 

  • EOS Java Wrapper – a Java implementation of the EOS RPC Calls. Developed by EOS Essentials.

 

  • EOS PHP – EOS RPC Client in PHP.

 

 

 

  • eos-docker is EOS in a box (easy install) (Ported from steem-docker).

Code Marketplaces

  • Katalyo is an open-source, decentralised, community-driven zero-code (aka low-code) platform powered by the EOS blockchain. Rewards in Katalyo tonek are coming in as long as your application created on the platform is being used by other organizations or individuals. At the current stage, Katalyo is best suited for creating applications that require data capture and workflow capabilities, including collaboration and notification capabilities. On top of that, Katalyo enables a creation of tokens and immutable datasets securely stored on the EOS blockchain.

 

  • codum is a community-driven marketplace for all programming languages in one place. The public launch is planned on the Q3 2019. The platform is developing by UAB Teisingas kodas.

Components

  • EOS Blox is the world’s first suite of web components coupled with a customized smart contract provision. It significantly accelerates development time, shortens the learning curve, and reduces code duplication, all of which leads to shorter runways and faster time to market.

Sockets

  • EOS Web Sockets. Need some web sockets for your dApp? Use this to create web sockets for EOS. Written in TypeScript by EOS Nation.

Contract Development Tools

  • eosio.cdt – Contract Development Toolkit, a toolchain for WebAssembly (WASM) and set of tools to facilitate contract writing for the EOSIO platform. Created by EOSIO in C++.

Toolkits

  • WABT – the C++-based WebAssembly binary toolkit. It can help you to: translate in both directions between WebAssembly text format and the WebAssembly binary format; print information about a wasm binary; parse .wat text form as supported by the spec interpreter (s-expressions, flat syntax, or mixed) and print “canonical” flat format; convert a WebAssembly binary file to a C source and header; convert a file in the wasm spec test format to a JSON file and associated wasm binary files; remove sections of a WebAssembly binary file; validate a file in the WebAssembly binary format; count opcode usage for instructions; decode and run a WebAssembly binary file using a stack-based interpreter; read a Spectest JSON file, and run its tests in the interpreter. Created by webassembly.org.

 

  • Pitreos – Go-based point in time recovery tool by EOS Canada. Backup and restore tool optimized for large sparse files and append-only files.

 

Parsers

  • EOS RC Parser – EOS Ricardian contract parser. Written in JavaScript by EOS Essentials.

Decompilers

  • Wasm Dec is a program that converts WebAssembly binaries to C++.

Command Lines

  • cleos is a C++-based command line tool that interfaces with the REST API exposed by nodeos, developed by EOSIO.

 

  • TEOS – an alternative command line interface to EOS, aimed to be the foundation for future development tools for the EOS ecosystem. Written in CMake by TOKENIKA.

 

  • eosc – cross-platform EOS command-line swiss-army-knife from EOS Canada. Written in Go.

 

  • EOS.IO BIOS Program – a command-line tool for developers who want to kickstart a blockchain using EOS.IO software. It’s built-in `eos-bios` – orchestrator for a decentralized EOS.IO blockchain network boot. Designed by EOS Canada.

Operation Systems

  • EON is an under developing intelligent high-speed distributed network that defines a complete set of distributed Internet protocols. Instead of a fork of EOS, EON builds a greater network based on EOS. EON truly brings the Information Age into the Internet of Value.

Browsers

  • EOSJS Browser – a browser-friendly version of the eosjs npm module. Created by EveripediaNetwork in JavaScript.

CPU Landings

  • EOSBank is the infrastructure of EOS blockchain, which allows DApp developers to pay minimal interest on a large number of CPU resources that will be paid to all of the bank’s depositors, and these lease transactions are executed through smart contracts. Created by Eosonic.

Cryptography

  • eosjs-ecc – elliptic curve cryptography functions: Private Key, Public Key, Signature, AES, Encryption, Decryption. Created by EOSIO in JavaScript.

 

  • eosjs-keygen. The purpose of this library is for managing keys in local storage. Designed by EOSIO in TypeScript.

 

  • EOS Encrypt allows to encrypt & decrypt a message with an EOS key pair using AES shared key encryption mechanism. Developed by EOS Nation in TypeScript.

Testing

  • EOS Test Cave – automated EOS testing framework. Created by EOS BP developers in Assembly.

 

  • EOS Network monitor – simple JavaScript-based tool to monitor EOS testnet BP node from CryptoLions.

 

  • Ping EOS implements ping between EOS / React.js. Written in JavaScript by EOS Asia.

 

  • Testnet Eosio.SG – a hassle-free test net for the community. Developed by EOS geeks from Singapore in Shell.

 

  • Jungle TestNet w Dawn v3.0.0 has been migrated to Jungle which allows learning from zero by its learn section, test DApps or infrastructure. Developed by EOSIO in Shell.

 

  • BP Names Generator – a Shell-based tool which gives you multiple testnet users based on certain topic. Optionally you can also generate public or private key pairs and export to a convenient BP.JSON.

 

  • EOSIO Project Boilerplate Simple. This repository demonstrates the eosio platform running a blockchain as a local single node test net with a simple DApp, NoteChain. Created by EOSIO in Shell.
  • Cryptokylin Testnet is a developer-friendly testnet maintained mostly by a group of EOS Mainnet Block Producers based in China, but there are active participants all over the world.

 

  • EOS Debug is a guide for EOS developers who want to download, build, and experiment with the EOS.IO software on community testnets. The work is a collaborative project between EOS Cafe / Calgary and HKEOS.

Do you know other tools? Write us about them in Twitter.