Working with Licenses
Last updated
Last updated
The License Owner in the dashboard () using a third-party crypto wallet [1.1] that was used to purchase the license. Upon registration, the License Owner will receive a generated seed phrase and a corresponding key pair [1.2].
To manage their license contacts, it is recommended that the License Owner save the obtained keys in a file named License.keys.json
.
To do this, the License Owner must provide their License Number [2.1] to the Node Owner, who will then add it to their whitelist [2.2].
There is no limit to the number of licenses that can be added to a BK Wallet whitelist; however, only five of them can be delegated.
To initiate delegation, the Node Owner must send their public key (BK_NODE_OWNER_PUBKEY
) to the License Owner [4].
A maximum of 5 licenses can be delegated to a single node.
Where:
pubkey
is the public key of the Node Owner received in step 4,
License.keys.json
is the keys obtained by the License Owner during registration in the dashboard.
To check the current delegation status, the getBK()
method can be called on the License
contract:
It will return the address of the BK wallet to which the license has been delegated,
or NULL
if no delegation has taken place.
At least one license must be delegated to the node in order to initiate staking.
The public key from this pair must be sent to a GOSH representative via email [1.3]. This key will be used by the system contract [1.4] to deploy the contract [1.5].
Once the License contract is deployed, the GOSH representative will provide the License Owner with the contract address and [1.7].
For the license to be delegated, its license number must be added to the .
The BK wallet using the [3].
The Node Owner can modify the whitelist at any time by using the setLicenseWhiteList(mapping(uint256 => bool))
method in the contract.
To delegate a license to a specific node, the License Owner must call the addBKWallet(uint256 pubkey)
method on their contract [5.1]:
is the ABI of the License contract,
The License contract will send a request to the [5.2], which will verify whether the License is included in its BK wallet whitelist. If the License is whitelisted, the BK wallet accepts the delegation. Otherwise, the delegation request is denied.
Only after successful delegation of at least 1 license can the Node Owner proceed to run the [6].