wallet-generator
v1.2.0
Published
Simple Web UI to generate brand new single digital asset wallet (project [Unicoisa](https://github.com/troggy/unicoisa) based on Copay + Colu).
Downloads
4
Readme
unicoisa-wallet-generator
Simple Web UI to generate brand new single digital asset wallet (project Unicoisa based on Copay + Colu).
Installation
Prerequisites
- MongoDb
Install app
git clone https://bitbucket.org/teamcolu/wallet-generator
npm install
bower install
Configure
App config
Edit config.json to match your settings:
{
"targetDir": "<folder where to put generated wallets>",
"templateCopayDir": "<folder with ColuCopay to make copy of>"
}
Template wallet
To prepare ColuCopay (project Unicoisa):
git clone https://bitbucket.org/teamcolu/wallet-generator copay && cd copay && npm install && bower install && grunt
Permissions
App copies nginx config to the /etc/nginx/wallets and reloads nginx. It uses sudo
to do this. To make it work you need the following:
- app should be running under user with sudo privileges
- edit
/etc/sudoers
(usevisudo
for your safety) to allow certain commands to run without password prompt:
<USERNAME> ALL=NOPASSWD:<PATH_TO_WALLET_GENERATOR>/scripts/copy_nginx_config.sh
<USERNAME> ALL=NOPASSWD:/usr/bin/service nginx reload
Nginx
Create /etc/nginx/wallets
folder.
Example nginx config for the generator app (assuming generator app is running on 6000 port):
server {
listen 80;
server_name wallet.colu.co;
include /etc/nginx/wallets/*.conf;
location / {
proxy_pass http://127.0.0.1:6000;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_redirect off;
}
}
Start app
npm start
or export to upstart using foreman
API
API uses HTTP Basic authentication.
Create wallet
Endpoint: POST /api/wallet
Payload:
{
walletName: "name of the wallet to change (mandatory)",
assetId: "assetId (mandatory)",
assetName: "name of the asset (mandatory)",
mainColor: "#xxxxxx code of the main wallet color",
secondaryColor: "#xxxxxx code of the secondary wallet color",
symbol: "symbol/ticker for the asset currency",
pluralSymbol: "plural form of the symbol",
logo: "logo could be uploaded only with multipart/form-data requests",
logoUrl: "logo URL (e.g. from CDN). If both logoUrl and logo bytes supplied, logoUrl will be used",
coluApiKey: "api key for Colu SDK"
}
Change wallet
Colu API key, assetId and wallet name cannot be changed.
Endpoint: PUT /api/wallet
Payload:
{
walletName: "name of the wallet to change",
assetName: "name of the asset",
mainColor: "#xxxxxx code of the main wallet color",
secondaryColor: "#xxxxxx code of the secondary wallet color",
symbol: "symbol/ticker for the asset currency",
pluralSymbol: "plural form of the symbol",
logo: "logo could be uploaded only with multipart/form-data requests",
logoUrl: "logo URL (e.g. from CDN). If both logoUrl and logo bytes supplied, logoUrl will be used"
}