Backend of DAS registration service. You can use this repo to build your own DAS registration website (as like https://d.id/bit)
- Ubuntu 18.04 or newer
- MYSQL >= 8.0
- Redis >= 5.0 (for cache)
- Elasticsearch >= 7.17 (for Recommended account)
- GO version >= 1.21.3
- ckb-node (Must be synced to latest height and add
Indexer
module to ckb.toml) - das-database
- unipay (Payment service used for registered accounts)
- If the version of the dependency package is too low, please install
gcc-multilib
(apt install gcc-multilib) - Machine configuration: 4c8g200G
# get the code
git clone https://github.com/dotbitHQ/das-register.git
# edit config/config.yaml before init mysql database
mysql -uroot -p
> source das-register/tables/das_register_db.sql;
> quit;
# compile and run
cd das-register
make register
./das_register --config=config/config.yaml
- docker >= 20.10
- docker-compose >= 2.2.2
sudo curl -L "https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker-compose up -d
if you already have a mysql installed, just run
docker run -dp 8119-8120:8119-8120 -v $PWD/config/config.yaml:/app/config/config.yaml --name das-register-server admindid/das-register:latest
- You need to run unipay before you can run this service
- You need to run das-database before you can run this service
- Use register API get the
order ID
- The server
unipay
is monitoring the balance change of the receiving address on chain, and wait for user to pay with theorder ID
attached to the payment unipay
will notify thedas-register
to start the registration process after the user's payment is completed- Wait for
das-register
to complete the entire registration process
+---------+ +----------------+ +-----------+ +-----------+
| user | | das_register | | unipay | |das-database|
+----|----+ +-------|--------+ +-----|-----+ +-----|-----+
| | | |
| | | |
+----- Get order id ---------->+ | |
| | | |
| | | |
+<---- Return order id --------+ | |
| | | |
| | | |
Pay for the order | | |
on chain | | |
| | Update the order status Parse block data
| | | |
| | | |
| Continue the registration | |
| | | |
| | | |
| | | |
+ + + +
Reverse APIs see reverse svr
More APIs see API.md