Private Delegation Node

Unlike public delegation nodes, such as those utilized by the Zuzalu community for community-wide communication, the Private Delegation Node is dedicated to individual users. It runs exclusively on a personal server, enabling continuous and secure messaging.

For delegation node deployment, please refer to the Delegation Node Deployment Tutorial. You may configure the access whitelist to limit the access to specific wallet address(es).

Whitelist Configuration

By default, wallet whitelisting is disabled. You can enable it with the following flag:

-whiteLisbashtEnable=false

If set to true, only wallet addresses on the whitelist will be permitted to connect to your node.

API Endpoints

1. Retrieve Whitelist, Blacklist, or Developer Key List

GET /admin/_api/admin/authority/{blacklist|whitelist|developer_key}

Request Headers:

Content-Type: application/json

Query Parameters:

Parameter
Type
Description

limit

int

Limit the number of results (optional)

offset

int

Offset for pagination (optional)

Successful Response:

Status Code: 200 OK

{
  "code": 200,
  "msg": "Get lists successfully.",
  "data": [
    { "walletaddress": "xxxxxxxxxx", "time": "xxxxxxxxxx" },
    { "walletaddress": "xxxxxxxxxx", "time": "xxxxxxxxxx" }
  ]
}

2. Retrieve Information for a Specific Wallet Address

GET /admin/_api/admin/authority/{blacklist|whitelist|developer_key}/{walletaddress}

Request Headers:

Content-Type: application/json

Successful Response:

Status Code: 200 OK

{
  "code": 200,
  "msg": "Get info successfully.",
  "data": { "walletaddress": "xxxxxxxxxx", "time": "xxxxxxxxxx" }
}

3. Add to Whitelist, Blacklist, or Developer Key List

POST /admin/_api/admin/authority/{blacklist|whitelist|developer_key}

Request Headers:

Content-Type: application/json

Request Body:

Parameter
Type
Description

walletaddress

string

User wallet address

developer_key

string

Developer Key (optional for whitelisting)

time

string

Expiration time

Successful Response:

Status Code: 200 OK

{
  "code": 200,
  "msg": "Add list successfully.",
  "data": { "walletaddress": "xxxxxxxxxx", "time": "xxxxxxxxxx" }
}

4. Batch Add to Whitelist, Blacklist, or Developer Key List

POST /admin/_api/admin/authority/{blacklist|whitelist|developer_key}/batch

Request Headers:

Content-Type: text/csv

Successful Response:

Status Code: 200 OK

{
  "code": 200,
  "msg": "Add lists successfully.",
  "data": [
    { "walletaddress": "xxxxxxxxxx", "time": "xxxxxxxxxx" },
    { "walletaddress": "xxxxxxxxxx", "time": "xxxxxxxxxx" }
  ]
}

5. Update Whitelist, Blacklist, or Developer Key List

PUT /admin/_api/admin/authority/{blacklist|whitelist|developer_key}

Request Headers:

Content-Type: application/json

Request Body:

Parameter
Type
Description

walletaddress

string

User wallet address

developer_key

string

Developer Key (optional for whitelisting)

time

string

Updated expiration time

Successful Response:

Status Code: 200 OK

{
  "code": 200,
  "msg": "Change lists successfully.",
  "data": { "walletaddress": "xxxxxxxxxx", "time": "xxxxxxxxxx" }
}

6. Remove from Whitelist, Blacklist, or Developer Key List

DELETE /admin/_api/admin/authority/{blacklist|whitelist|developer_key}

Request Headers:

Content-Type: application/json

Request Body:

Parameter
Type
Description

walletaddress

string

User wallet address

developer_key

string

Developer Key (optional)

Successful Response:

Status Code: 200 OK

{
  "code": 200,
  "msg": "Delete lists successfully.",
  "data": { "walletaddress": "xxxxxxxxxx", "time": "xxxxxxxxxx" }
}

Last updated