All Projects → TP-Lab → Kafka_plugin

TP-Lab / Kafka_plugin

Licence: mit
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.

Labels

Projects that are alternatives of or similar to Kafka plugin

EOSTracker-API
EOS Tracker API is a PHP Backend based on Symfony3 that connects to a SQL database.
Stars: ✭ 64 (+18.52%)
Mutual labels:  eosio
Eos Bp Nodes Security Checklist
EOS bp nodes security checklist(EOS超级节点安全执行指南)
Stars: ✭ 347 (+542.59%)
Mutual labels:  eosio
Awesome Blockchain
⚡️Curated list of resources for the development and applications of blockchain.
Stars: ✭ 937 (+1635.19%)
Mutual labels:  eosio
bos-testnet
Testnet for BOSCore.
Stars: ✭ 17 (-68.52%)
Mutual labels:  eosio
anchor-link
Persistent, fast and secure signature provider for EOSIO chains built on top of EOSIO Signing Requests (EEP-7)
Stars: ✭ 29 (-46.3%)
Mutual labels:  eosio
Eos Smart Contract Security Best Practices
A guide to EOS smart contract security best practices
Stars: ✭ 371 (+587.04%)
Mutual labels:  eosio
twitbot
🦉Just a simple twitter bot for tipping in EOS
Stars: ✭ 18 (-66.67%)
Mutual labels:  eosio
Eos Development
The tutorial of EOS development
Stars: ✭ 28 (-48.15%)
Mutual labels:  eosio
Eosio.contracts
Smart contracts that provide some of the basic functions of the EOSIO blockchain
Stars: ✭ 282 (+422.22%)
Mutual labels:  eosio
Eos Go
EOS.IO Go API library
Stars: ✭ 531 (+883.33%)
Mutual labels:  eosio
eosio-demo1-election
My experiment on EOSIO blockchain to develop an election Smart Contract. I also develop a webapp which interacts with the blockchain.
Stars: ✭ 17 (-68.52%)
Mutual labels:  eosio
EosAdmin
EOSAdmin -- EOS管理工具箱
Stars: ✭ 17 (-68.52%)
Mutual labels:  eosio
Anchor
EOSIO Desktop Wallet and Authenticator
Stars: ✭ 381 (+605.56%)
Mutual labels:  eosio
every-eos
Decentralized exchange based on eos.io
Stars: ✭ 20 (-62.96%)
Mutual labels:  eosio
Scala Api Wrapper
A Scala wrapper for EOS RPC API
Stars: ✭ 14 (-74.07%)
Mutual labels:  eosio
django-scatter-auth
Django Scatter Auth for EOS blockchain
Stars: ✭ 16 (-70.37%)
Mutual labels:  eosio
Scatterwebextension
Extension that allows you to sign transactions with your private keys securely from within the browser without ever exposing them.
Stars: ✭ 359 (+564.81%)
Mutual labels:  eosio
Tiny.scatter
Scatter compatible eos injection library
Stars: ✭ 31 (-42.59%)
Mutual labels:  eosio
Eosio sql plugin
EOSIO sql database plugin
Stars: ✭ 21 (-61.11%)
Mutual labels:  eosio
Eosio.cdt
EOSIO.CDT (Contract Development Toolkit) is a suite of tools used to build EOSIO contracts
Stars: ✭ 471 (+772.22%)
Mutual labels:  eosio

EOSIO Kafka Plugin

what's eosio kafka plugin

EOSIO Kafka Plugin is used to receive the transaction data fom blockchain and send out the transaction through kafka producer. Developer can receive the transaction data through kafka consumer in the background application.

how does the kafka plugin work

  1. it run a task to resume the transactions on chain. there's two type of transactions:"applied transaction" and "accepted transaction"

  2. create two kafka topics, the producer of which store the applied transaction and accepted transaction in kafka queue

  3. the dapp developer can get the transaction data through the consumer of the kafka topic.

Based eosio version

EOS-Mainnet/eos mainnet-1.6.1 or later

Building the plugin [Install on your nodeos server]

  1. install kafka library
cd /usr/local
git clone https://github.com/edenhill/librdkafka.git
cd librdkafka
./configure
make
sudo make install
  1. download the kafka plugin code in to eos file
cd /usr/local/eos/plugins/
git clone https://github.com/TP-Lab/kafka_plugin.git
  1. update the CMakeLists.txt to complie the kafka plugin
(1)edit /usr/local/eos/plugins/CMakeLists.txt:
add_subdirectory(kafka_plugin)

(2)edit /usr/local/eos/programs/nodeos/CMakeLists.txt:
target_link_libraries( nodeos PRIVATE -Wl,${whole_archive_flag} kafka_plugin -Wl,${no_whole_archive_flag} )

How to setup on your nodeos

Enable this plugin using --plugin option to nodeos or in your config.ini. Use nodeos --help to see options used by this plugin.

Configuration

Add the following to config.ini to enable the plugin:

parmeters for kafka_plugin
 --plugin eosio::kafka_plugin     //add kafka plugin
 --kafka-uri 192.168.31.225:9092    //the kafka service 
 --accept_trx_topic eos_accept_topic //the kafka topic for accept transaction
 --applied_trx_topic eos_applied_topic //the applied topic for applied transaction
 --kafka-block-start 100  //the start block number, from which kafka begin to receive transactions
 --kafka-queue-size 5000  // the queue size of kafka
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].