EOS tracker tool is composed of the following:
eos-tracker-frontend <--> eos-tracker-api <--> mongodb <--> nodeos
By default on Ubuntu, mongodb is compiled and built as a plugin of nodeos. To determine if mongodb is supported by nodeos, run the following cmd and check if the "--mongodb-uri" option is available
Installation dir of mongodb: ~/opt/mongodb
Config file of mongodb:
~/opt/mongodb/mongod.conf
Command to start mongod (MongoDB daemon):
~/opt/mongodb/bin/mongod -f ~/opt/mongodb/mongod.conf &
Or, run the provided script "script_mongod.sh" in the folder "mongo"
View log output of mongod:
tail -f ~/opt/mongodb/log/mongodb.log
By default, mongod is listenning at localhost:27017
Interact with mongo database: Ref link: https://docs.mongodb.com/manual/reference/mongo-shell
~/opt/mongodb/bin/mongo
show dbs
use EOStest
show tables
db.transactions.count()
Start nodeos (EOS daemon) with a connection to mongodb named "EOStest" by running the following cmd:
cd nodeos
pm2 start client_node_connect_to_testnet_mongo/script_client_node_mongo.sh
or:
pm2 start single_eosio_producer_mongo/script_eosio_producer_mongo.sh
https://github.com/EOSEssentials/EOSTracker-API
EOS Tracker API is a PHP Backend based on Symfony3 that connects to a MongoDB database.
First, install the below dependencies:
Install PHP 7.2 (Ubuntu)
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install php7.2
Install others (Ubuntu)
sudo apt-get install php7.2-mongodb
sudo apt-get install php7.2-cli
sudo apt-get install php7.2-xml
sudo apt-get install php7.2-mbstring php7.2-intl php7.2-redis -y
apt-get install composer
Install PHP 7.2 (Mac)
brew install php72
Install others (Mac)
// http://php.net/manual/en/mongodb.installation.pecl.php
sudo pecl install mongodb
Run composer cmd
composer update
composer install
Config file of MongDB for eos-tracker-api
app/config/parameters.yml
# This file is auto-generated during the composer install parameters:
secret: 123
mongodb_server: 'mongodb://localhost:27017'
db_name: EOStest
To start:
php bin/console server:run
Or, run this cmd:
pm2 start script_tracker_api.sh
https://github.com/EOSEssentials/EOSTracker
EOS Tracker is a Frontend based on Angular4 that connects to the EOS Tracker API.
Config file of eos-tracker-frontend for interacting with eos-tracker-api:
src/environments/environment.ts
export const environment = {
production: false,
walletUrl: '//walleteos.com',
appName: 'EOS Tracker',
logoUrl: '/assets/logo.png',
apiUrl: '//138.197.194.220:8000',
blockchainUrl: '//138.197.194.220:8877'
};
Just follow the README for installation and execution.
If not available, then install the following:
sudo npm install -g @angular/cli@latest
To start the frontend at a specific IP:Port
ng serve --host 0.0.0.0 --port 4200
or run the below cmd:
pm2 start script_run_frontend.sh
composer install Loading composer repositories with package information Updating dependencies (including require-dev) Package operations: 36 installs, 0 updates, 0 removals
- Installing mongodb/mongodb (1.3.2): Downloading (100%)
- Installing alcaeus/mongo-php-adapter (1.1.5): Downloading (100%)
- Installing symfony/polyfill-mbstring (v1.8.0): Downloading (100%)
- Installing twig/twig (v2.4.8): Downloading (100%)
- Installing paragonie/random_compat (v2.0.12): Downloading (100%)
- Installing symfony/polyfill-php70 (v1.8.0): Downloading (100%)
- Installing symfony/polyfill-util (v1.8.0): Downloading (100%)
- Installing symfony/polyfill-php56 (v1.8.0): Downloading (100%)
- Installing symfony/symfony (v3.4.9): Downloading (100%)
- Installing symfony/polyfill-intl-icu (v1.8.0): Downloading (100%)
- Installing symfony/polyfill-apcu (v1.8.0): Downloading (100%)
- Installing psr/simple-cache (1.0.1): Downloading (100%)
- Installing psr/log (1.0.2): Downloading (100%)
- Installing psr/link (1.0.0): Downloading (100%)
- Installing psr/container (1.0.0): Downloading (100%)
- Installing psr/cache (1.0.1): Downloading (100%)
- Installing fig/link-util (1.0.0): Downloading (100%)
- Installing doctrine/lexer (v1.0.1): Downloading (100%)
- Installing doctrine/inflector (v1.3.0): Downloading (100%)
- Installing doctrine/collections (v1.5.0): Downloading (100%)
- Installing doctrine/cache (v1.7.1): Downloading (100%)
- Installing doctrine/annotations (v1.6.0): Downloading (100%)
- Installing doctrine/common (v2.8.1): Downloading (100%)
- Installing incenteev/composer-parameter-handler (v2.1.3): Downloading (100%)
- Installing nelmio/cors-bundle (1.5.4): Downloading (100%)
- Installing composer/ca-bundle (1.1.1): Downloading (100%)
- Installing sensiolabs/security-checker (v4.1.8): Downloading (100%)
- Installing sensio/distribution-bundle (v5.0.21): Downloading (100%)
- Installing sensio/framework-extra-bundle (v5.1.6): Downloading (100%)
- Installing symfony/apache-pack (v1.0.1): Downloading (100%)
- Installing monolog/monolog (1.23.0): Downloading (100%)
- Installing symfony/monolog-bundle (v3.2.0): Downloading (100%)
- Installing swiftmailer/swiftmailer (v5.4.9): Downloading (100%)
- Installing symfony/swiftmailer-bundle (v2.6.7): Downloading (100%)
- Installing sensio/generator-bundle (v3.1.7): Downloading (100%)
- Installing symfony/phpunit-bridge (v3.4.9): Downloading (100%)
symfony/polyfill-mbstring suggests installing ext-mbstring (For best performance) paragonie/random_compat suggests installing ext-libsodium (Provides a modern crypto API that can be used to generate random bytes.) symfony/polyfill-intl-icu suggests installing ext-intl (For best performance) sensio/framework-extra-bundle suggests installing symfony/psr-http-message-bridge (To use the PSR-7 converters) monolog/monolog suggests installing aws/aws-sdk-php (Allow sending log messages to AWS services like DynamoDB) monolog/monolog suggests installing doctrine/couchdb (Allow sending log messages to a CouchDB server) monolog/monolog suggests installing ext-amqp (Allow sending log messages to an AMQP server (1.0+ required)) monolog/monolog suggests installing graylog2/gelf-php (Allow sending log messages to a GrayLog2 server) monolog/monolog suggests installing php-amqplib/php-amqplib (Allow sending log messages to an AMQP server using php-amqplib) monolog/monolog suggests installing php-console/php-console (Allow sending log messages to Google Chrome) monolog/monolog suggests installing rollbar/rollbar (Allow sending log messages to Rollbar) monolog/monolog suggests installing ruflin/elastica (Allow sending log messages to an Elastic Search server) monolog/monolog suggests installing sentry/sentry (Allow sending log messages to a Sentry server) symfony/phpunit-bridge suggests installing ext-zip (Zip support is required when using bin/simple-phpunit) Writing lock file Generating autoload files