N Suite
Login to N Suite

First, loginto N Board, and select Workflow, New Request and Contract method.
Joining
Select Method(Join POS)

Select StakeManager, Oasys is for a Mainnet, Oasys Testnet is for a Testnet.

Select joinValidator(address) if you want to run $oaspos validator:join command in N Suite.
Select Stake Manager

Please input, Title of Request, Message for Request, Duedate in advance.
Please approve sOAS token use before staking it.
If there is no method for approve sOAS, please contact N Suite team.
On Execution details, Please input Validator Operator in operator(address).
For confirming operator address, run following command on validator pc.
$ sudo -u geth /usr/local/bin/geth attach --exec eth.accounts ipc:/home/geth/.ethereum/geth.ipc
Staking
Approve sOAS
If you are using sOAS, you need to approve token.

Select sOAS.

Select Approve

On Spender, please input 0x0000000000000000000000000000000000001001
Select Method(Stake)

Select StakeManager, Oasys is for a Mainnet, Oasys Testnet is for a Testnet.

Select stake(address,uint8,uint256) if you want to run $oaspos staker:stake command in N Suite.
Select Stake Manager

Please input, Title of Request, Message for Request, Duedate in advance. On Execution details, Please input
- input data Validator owner address
You can use owner address previously sent to foundation.
- token (uint8)
| Type | token number |
|---|---|
| OAS | 0 |
| WOAS | 1 |
| sOAS | 2 |
- amount (uint256)
Amount you want to stake.
If you are inputing 1.5 OAS, please input:
1500000000000000000
Updating BLS Public Key
Update your Validator's BLS Public Key of the StakeManager contract.
1. Run Workflow
Create a new workflow. Select Contract Method > Standard method execution for the workflow type.
- Network: Select the
Oasys. - From Address: Select your
Validator Owner Address(NOT Operator Address). - Contract: Select
StakeManagerof thePresettab. - Method: Select the
updateBLSPublicKey(bytes). Input data > blsPublicKey (bytes): Input yourBLS public key
For example:
Run the workflow after input is complete.
2. Check result
After the workflow has been approved, check if the contract has been successfully updated. Select the Completed tab and open the approved workflow.
Click the icon to the right of the StakeManager name under Contract in the Execution details of the workflow.
Open the Read tab under Method in the Contract details popup. Click on getValidatorInfo(address,uint256). Enter the following details and click the Query button.
- validator(address): Input your
Validator Owner Address(NOT Operator Address) - epoch(uint256): Input
0
Check your BLS Public Key.
Updating Bridge Contract
Update your Verse's bridge contract deployed on the Hub-Layer.
Estimated working time is 30-60 minutes.
1. Get contract address
You will get the address of the bridge contract on this page.
- Press the
Connectbutton to establish a connection with Metamask. - Switch the network on Metamask to the
Oasys Mainnet. If not registered, please register from the chainlist.org. - Enter the Chain ID of your Verse in the form and press the
Get Verse Infobutton.
If the Chain ID is correct, the Verse information will be displayed, so please note the address of L1ERC721Bridge.
2. Register custom contract
Register the ERC721 bridge as a custom contract in N Suite.
- Name: YOUR_VERSE_NAME / L1ERC721Bridge
- Address: The address obtained in the previous step.
- Network: Select the
Oasys.
If the address is correct, the ABI will be automatically filled in.
For example:
3. Run Workflow
Create a new workflow. Select Contract Method > Standard method execution for the workflow type.
- Network: Select the
Oasys. - From Address: Select the address used for the Verse build (It is referred to as
Verse BuilderorVerse Owner). - Contract: The custom contract registered in the previous step.
- Method: Select the
setCode(bytes). Input data > _code(bytes): Please copy and paste thedeployedBytecodeof this file from beginning to end without any mistakes.
For example:
Run the workflow after input is complete.
4. Check result
Check if the contract has been successfully updated.
# Enter the address of the bridge contract.
BRIDGE_ADDRESS=''
RPC_URL='https://rpc.mainnet.oasys.games/'
STORAGE_SLOT='0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc'
IMPLEMENTATION_ADDRESS=$(curl -s $RPC_URL \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0", "method":"eth_getStorageAt", "params":["'$BRIDGE_ADDRESS'", "'$STORAGE_SLOT'", "latest"], "id":1}' \
| jq -rM .result | echo 0x$(cut -c27-))
curl -s $RPC_URL \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0", "method":"eth_getCode", "params":["'$IMPLEMENTATION_ADDRESS'", "latest"], "id":1}' \
| jq -rM .result | md5
If the MD5 hash of the contract code is e73f4d4d142012e33f4860478c935965, the update has been successfully completed.