Skip to content
New Yoroi data-importer (replacement for the `project-icarus-importer`)
JavaScript Smarty Other
Branch: master
Clone or download
Latest commit 50b14a8 Oct 11, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.vscode
cardano-http-bridge @ cd7fa51 Updated the bridge submodule revision Sep 5, 2019
config Fixed the testnet2 network start time. Removed legacy network. Sep 14, 2019
docker added initial sceleton Mar 1, 2019
docs
flow-typed/npm added babel deps Mar 14, 2019
migrations added tx_ordinal and inputs columns to txs table. Aug 29, 2019
scripts/docker updated documentation. Mar 1, 2019
src actually emit an exit signal on unexpected errors so process can be r… Sep 17, 2019
.babelrc put all parts together Mar 28, 2019
.eslintrc.json eslint fixes. Mar 1, 2019
.flowconfig added inversifyjs Mar 15, 2019
.gitignore added ignore for local conf files Jun 11, 2019
.gitmodules Added cardano-http-bridge as submodule May 13, 2019
README.md Update README.md Oct 11, 2019
jest.config.js added migrations and jest config. Mar 1, 2019
package.json added a production script that doesn't use nodemon (so app actually e… Sep 17, 2019
tangata-manu-bg.png update logo and description Sep 3, 2019
yarn.lock Returned `cbor` dependency and use it for everything except tx hash g… Aug 12, 2019

README.md

Tangata Manu

Tangata Manu GitHub

Cardano chain data-importer (replacement for the project-icarus-importer)

Abstract

Tangata Manu is a tool to import Cardano blockchain data into an easily usable database storage (e.g. Postgres database). The main goal of the project is to provide the main middle-layer functionality and to allow easy connection for new custom data-storage connectors or data-provider connectors, basically allowing to read blockchain data from any source with an API (for example, different full-node implementations), and export it into any custom storage or database that you can connect.

Pre-requisites

  • [Node.js 10.14.2] We recommend nvm to install it.
  • [Postgres 11.2] (https://www.postgresql.org/) as DB engine. For development purposes we suggest using Docker but local installation could be used as well (not both, obviously). For Mac, we recommend https://postgresapp.com.

Configuration

All the environment specific configurations can be found in $PROJ_ROOT/config folder. They are loaded using config package.

Development environment

We recommend using Docker to quickly setup the DB in dev environment:

docker pull postgres:11.2;
docker run --name postgres -p 5432:5432 -e POSTGRES_PASSWORD=mysecretpassword -d postgres;

And then, to create the db, you need to do:

docker exec -it postgres psql -U postgres;
create database yoroi_blockchain_importer;
  1. Clone this repo, git clone --recursive git@github.com:Emurgo/tangata-manu.git
  2. Select correct NodeJs version, nvm use
  3. Install dependencies, yarn install
  4. Init database schema, yarn run migrate up
  5. Start the app, yarn run dev.

Create database schema migration

We use node-pg-migrate for migrations. Migrations are located in migrations/ folder. To create e new one, execute:

  1. yarn run migrate create <short> <description>

Run development environment

  1. Start postgres, docker run --name postgres -p 5432:5432 -e POSTGRES_PASSWORD=mysecretpassword -d postgres
  2. Go to cardano-http-bridge directory, cd cardano-http-bridge
  3. Run cardano-http-bridge, cargo run --package cardano-http-bridge --bin cardano-http-bridge start --port 8082 --template=testnet2
  4. Go to yoroi-importer directory, cd yoroi-importer
  5. Start the app, yarn run dev.

Documentation

        +----------------------+
        |                      |
        | Tangata Manu Starts  |
        |                      |
        +-----------+----------+
                    |
                    v
  1. Architecture explained: docs/architecture.md
  2. Flow chart visualisation: docs/flow.md

Tangata Manu meaning

The Tangata manu ("bird-man," from tangata "human beings" + manu "bird") was the winner of a traditional competition on Rapa Nui (Easter Island). The ritual was an annual competition to collect the first sooty tern (manu tara) egg of the season from the islet of Motu Nui, swim back to Rapa Nui and climb the sea cliff of Rano Kau to the clifftop village of Orongo.

From: Wikipedia contributors, "Tangata manu," Wikipedia, The Free Encyclopedia, https://en.wikipedia.org/w/index.php?title=Tangata_manu&oldid=907590181 (accessed September 3, 2019).

Special Thanks

To the Cardano Foundation for their support so this project could be open-sourced to the community.

You can’t perform that action at this time.