Skip to content

flibustier/e-coin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

E-Coin


What is E-Coin?

E-Coin is a digital asset for your E-Corp employees. It's also a demo application.

What about blockchain?

E-Coin use blockchain as a storage for storing assets and transactions.

The blockchain is powered by Multichain for now, perfect for building a private blockchain!

How is it working?

E-Coin platform use a Vue.js front-end, a Go back-end interacting with Multichain, and Auth0 for managing authentication.

E-Coin architecture

Can I test it?

Sure! As a loyal E-Corp employee, you can register and get your first E-Coin immediately!

Go to: https://e-coin.jonathan.pl to claim your reward!

You can register with any email address in order to get a e-coin wallet address and send some assets to another address, but if you don't want to register your email, you can test the application using demo@jonathan.pl email and demo password!

You can also explore the Blockchain with the Explorer!

Awesome! I want to develop my own E-Coin!

Sure! You will need Golang and NPM

Automated

If you are on Windows, just launch ./start.bat

Manually
Build your Blockchain

First you need to download Multichain, then follow these steps by replacing e-coin with the name of your currency:

multichain-util create e-coin

[...]
You can edit it in /home/t.wellick/.multichain/e-coin/params.dat before running multichaind for the first time.
[...]

You can adjust the parameters in params.dat file, you can take inspiration from those

Next, it's time to run your blockchain node

multichaind e-coin

MultiChain 2.0 alpha 2 Daemon (latest protocol 20002)

Other nodes can connect to this node using:
multichaind e-coin@42.42.42.42:6667

This host has multiple IP addresses, so from some networks:
multichaind e-coin@42.42.42.42:6667

Listening for API requests on port 6666 (local only - see rpcallowip setting)

Node ready.

You can now fill you .env file with the RPC credentials in /home/t.wellick/.multichain/e-coin/multichain.conf file

Build Back-end
go get github.com/flibustier/e-coin

Don't forget to fill the .env file

The dependencies are:

  • gorilla/mux
  • gorilla/context
  • rs/cors
  • joho/godotenv
  • boltdb/bolt
  • golangdaddy/multichain-client
  • auth0-community/go-auth0
  • gopkg.in/square/go-jose.v2
Build Front-end

Follow instructions in the frontend directory

npm install
npm run build

Roadmap

  • Static front-end
  • Go back-end
    • Multichain integration
    • Database support
    • Create new users
    • Get user balance
    • Get list of user
    • Create new transaction
    • Get user history
  • Fully functional
  • Release
  • Add a blockchain explorer
  • Add new functionality

License

MIT