https://github.com/flibustier/e-coin
E-Coin is a corporate coin, using private blockchain
https://github.com/flibustier/e-coin
blockchain boltdb e-corp golang multichain vuejs
Last synced: 4 months ago
JSON representation
E-Coin is a corporate coin, using private blockchain
- Host: GitHub
- URL: https://github.com/flibustier/e-coin
- Owner: flibustier
- License: mit
- Created: 2018-02-05T22:37:53.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2021-02-13T10:57:02.000Z (over 5 years ago)
- Last Synced: 2024-06-19T19:48:25.281Z (almost 2 years ago)
- Topics: blockchain, boltdb, e-corp, golang, multichain, vuejs
- Language: Go
- Homepage: https://flibustier.github.io/e-coin/
- Size: 4.64 MB
- Stars: 6
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
---
[multichain]: https://github.com/MultiChain/multichain
#### 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](https://github.com/vuejs/vue) front-end, a Go
back-end interacting with Multichain, and Auth0 for managing authentication.
#### Can I test it?
Sure! As a loyal E-Corp employee, you can register and get your first E-Coin
immediately!
Go to: 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](https://explorer.jonathan.pl)!
#### Awesome! I want to develop my own E-Coin!
Sure! You will need [Golang](https://golang.org/dl/) and [NPM](https://nodejs.org/en/)
##### 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:
```$xslt
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](./resources/params.dat)
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
```$xslt
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](./frontend/README.md)
```
npm install
npm run build
```
---
#### Roadmap
- [x] Static front-end
- [x] Go back-end
- [x] Multichain integration
- [x] Database support
- [x] Create new users
- [x] Get user balance
- [x] Get list of user
- [x] Create new transaction
- [x] Get user history
- [x] Fully functional
- [x] Release
- [x] Add a blockchain explorer
- [ ] Add new functionality
#### License
[MIT](http://opensource.org/licenses/MIT)