Guide to install Roller - Dymension
Dymension is a vertical scaling Cosmos ecosystem by Rollapps
Minimum hardware requirements:
CPU: 2 cores.
Disk: 500 GB SSD (recommend NVME or SSD).
Ram: 16GB.
Access your local server or VPS from terminal. If you are completely newbies, visit here.
Step 1: Update libraries:
sudo apt update && sudo apt upgrade -y
Step 2: Install Roller (changed to version 1.03):
curl -L https://dymensionxyz.github.io/roller/install.sh | bash
Step 3: Check version of Roller
roller version
Result should be like this:
Step 4: Initiate Roller
roller config init --interactive
Enter your RollApp ID
Using this format to name your RollApp:
- Name: Lowercase English letters
- EIP155: 1 to 5 digit number representing the EIP155 rollapp ID
- Version: 1 to 5 digit number representing the version
Example: vnbnodesrollapp_8668-1
Specify your RollApp denom:
Name your native token as you want:
Example: RAX, TIA, DYM, BTC or ETH…
Set the genesis token supply:
This is the initial token supply in the RollApp (default: 1,000,000,000).
It’s up to you to define the quantity.
Select Data Availability layer
As default there are 2 DA layers: Celestia and Avail to select.
Select your execution environment:
As default is EVM or custom (RDK).
One you finished, it will return to you 3 address as below:
Copy 3 addresses and go to Discord devnet to claim faucets as below:
For Celestia address go to celestia-faucet:
After that check the balance in your wallets:
Step 5: Register for Roller
roller register
Result should be:
Step 6: Run the Roller
run command:
tmux
and then
roller run
Result should be:
Wait for about 10-15 minutes to active the Relayer. Once it’s active, you will see like this:
to escape : press combination: ctrl+b, then d.
Step 7: Do the interact via IBC transfer
rollapp_evm tx ibc-transfer transfer transfer channel-0 dym12ad4lux36lta7d75v2w6je2y386y9s5xp658pz 1000000000000000000uDYM --from rollapp_sequencer --keyring-backend test --home ~/.roller/rollapp --broadcast-mode block
Note: uDYM should inline with your native token that you created in item 2, Step 4. As default 18 additional decimal places, mean 1 DYM = 1000,000,000,000,000,000 uDYM.
You will be asked to confirm as below: Just type Y and go ahead.
The result will return the hash of transaction as below:
Step 8: Export keys
roller keys list
The result should be like this:
To export private keys, use the following commands (one by one):
roller keys export hub_sequencer
Then:
roller keys export rollapp_sequencer
and:
roller keys export my_celes_key
The results should be like:
Save these private keys in your private location (do not let someone see it).
Step 9: Import to Metamask
Copy and paste your roller-sequencer private key (from step 8) here:
Step 10: Add Roller network
Network name: Your Rollapp ID
New RPC URL: Your_IP_address : 8545
Chain ID: The EIP155 number in your Rollapp ID.
Currency symbol: Your RollApp denom
Example: For Rollapp ID: vnbnodep_1234-1
Once finished, you will see it like this:
Step 11: Create a NFT smart contract
Access to Remix.
Then you will see a page like this:
click on the contract folder to create new file:
Name it as: NFT.sol
in the content of NFT.sol, just copy and paste as below:
Note: in constructor: replace _name; _symbol as you want for NFT.
// SPDX-License-Identifier: UNLICENSED
pragma solidity 0.8.19;
import "https://github.com/transmissions11/solmate/blob/main/src/tokens/ERC721.sol";
import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/Strings.sol";
contract NFT is ERC721 {
uint256 public currentTokenId;
constructor(
string memory _name,
string memory _symbol
) ERC721(_name, _symbol) {}
function mintTo(address recipient) public payable returns (uint256) {
uint256 newItemId = ++currentTokenId;
_safeMint(recipient, newItemId);
return newItemId;
}
function tokenURI(uint256 id) public view virtual override returns (string memory) {
return Strings.toString(id);
}
}
Example: _name = vnbnode
Step 12: Comply the smart contract
If you can see the green check, that means it’s ok.
Step 13: Deploy and run Smart contract
Select Injected Provider - Metamask as below:
it will popup metamask wallet, select the Account that you imported before and click next:
Select contract NFT.sol
Click the Deploy button and confirm transaction on metamask.
Step 14: Play with NFT
Insert minTo and balanceOf, as your Metamask wallet. It’s time to play with NFT contract.
***********************************************************************************************************
Check log:
Log rollapp:
tail -f .roller/rollapp/rollapp.log
Log Relayer:
tail -f .roller/relayer/relayer.log
***********************************************************************************************************
Good luck to you guys.
For any question or want to read more about us. Go to VNBnodes