HIVE Creator
Make Money Creating AccountsGithub
Visit website: HIVE Creator
APIIf there are any problems, I just transfered domain and server and there might be some issues.
What is HIVE Creator? It's an open source app that allows anyone to host account creation service (like Blocktrades.us)
How does it work?
Anyone can set up the web app, users can send HIVE/HBD to owner's account and they will get account creation codes/tokens (sent back in encrypted memo). Users can than use this codes to create new accounts.
If users don't use memo account_creation
, payment will not be detected. If amount is less than price or currency is not correct (eg. HIVE instead of HBD), transfer will be refunded. You can always see current price per account at website.com/api
API.
Features:
- Account creation
- Claiming accounts (optional)
- Receiving payments & handling all cupon codes (optional)
- Memo decryption
For-profit system is not required, you can disable payments and create/distribute codes manually.
Visit website: HIVE Creator
Because some HIVE frontends don't support memo decryption, you can use tool on the website to decrypt memo (Keychain & private memo key supported) and get your account creation tokens!
You can also use tool on the site to buy account creation tokens (HiveSigner & Keychain supported)!
All transfers are divided by price and than rounded down. If you send 10.3 HIVE and price is 0.500 HIVE, you will get 20 codes and remaining will NOT be refunded (in v1.0, it might change in future).
How to set up the app
- NodeJS & NPM
- MySQL database
(Detailed instructions: ~~~ embed:b63bab4c9e7cfc09e5b613fbe4715937) gist metadata:ZmJzbG8vYjYzYmFiNGM5ZTdjZmMwOWU1YjYxM2ZiZTQ3MTU5Mzcp ~~~
Service was tested on Windows 10 and Ubuntu 16.04. This instructions are for Ubuntu 16.04.
1 - Clone Github repository: https://github.com/fbslo/creator
git clone https://github.com/fbslo/creator.git
cd creator
npm install
2 - Create MySQL database:
mysql -p
create database creator;
use creator;
create table tokens(id TEXT, status INTEGER);
id
is used to store account creation token, status
is NULL before token is used and 1 after it is used.
3 - Rename and edit config.json
Rename config.demo.json to config.json
{
"account": "youraccount",
"key": "thisisyouractivekey",
"accept_payment": "true", //set to false if you don't want to accept payments
"price": "0.5 HIVE",
"claim": "false", //set to true if you want to claim account every 12 hours
"tip": "0.1", //send 10% tip to @fbslo, you can set it to 0 to disable
"rpc": "https://api.hive.blog",
"database_ip": "localhost",
"database_user": "root", //your database user
"database_password": "database_password", //your database password
"database_port": "3306",
"database": "creator",
"env": "dev" //set to production for production mode (https), any other mode starts server on port 5000
}
Note: If you enable account claiming, it will claim accounts every 12 hours and it will run until you run out of RCs (or any other error). Than it will pause for 12h and try again. Use with caution!
4 - Run the service:
node app.js
Or use pm2: pm2 start app.js
YOU SHOULDN'T RUN THIS APP AS ROOT! Use nginx as reverse proxy, run app in dev mode and forward all requests to port 5000. See THIS tutorial, you will also get automatic SSL keys generated
You should use SSL! Private keys are sent from front-end to server and than back to client!
In production mode, SSL is required!
Create key.pem and cert.pem and store them to /ssl directory. You can get free SSL certificates on https://www.sslforfree.com/. (Not recommended, see nginx setup above)
API is available at website.com/api
Please report any bugs.
If you have any questions, need help installing or using this service, please contact me.
Feel free to fork this project and add more features :)
fbslo.net
https://github.com/fbslo/creator
Discord: fbslo#8470
This SOFTWARE PRODUCT is provided by THE PROVIDER "as is" and "with all faults." THE PROVIDER makes no representations or warranties of any kind concerning the safety, suitability, lack of viruses, inaccuracies, typographical errors, or other harmful components of this SOFTWARE PRODUCT. There are inherent dangers in the use of any software, and you are solely responsible for determining whether this SOFTWARE PRODUCT is compatible with your equipment and other software installed on your equipment. You are also solely responsible for the protection of your equipment and backup of your data, and THE PROVIDER will not be liable for any damages you may suffer in connection with using, modifying, or distributing this SOFTWARE PRODUCT.
var config = JSON.parse(fs.readFileSync('./config.json'))
easier with:
config = require('./config.json')
Thanks :)
I learned of this myself recently as well, and it is so much better.
Hi, nice to see you active aftet a while...
This is to complicated for me, but for sure it will be useful for some hiveans :)
Have a nice one!
Here is one token, use it wisely...
fca419551d9e
Great stuff! As @crazy-andy noted it's really great to see you active after a while. :)
Thanks :)
I see you are active as well, that's great! Let's make #teamslovenia great again!
This is very cool, nice work! ( and thanks for making it open-sourced! )
Thanks for sharing your creative and inspirational post on HIVE!
This post got curated by our fellow curator @solominer and you received a 100% upvote from our non-profit curation service!
Join the official DIYHub community on HIVE and show us more of your amazing work!