Yes, you can easily deploy your Ethereum smart contracts to the RSK blockchain. Smart contracts for RSK can be written using Solidity and are fully compatible with Ethereum Smart Contracts, so you can migrate your existing Ethereum Smart Contract to RSK without changing the smart contract. You just need to configure your truffle-config.js
file to point to RSK. Here's an example for the RSK Testnet:
testnet: {
provider: () => new HDWalletProvider({
mnemonic: {
phrase: testnetSeedPhrase,
},
providerOrUrl: 'https://public-node.testnet.rsk.co/',
derivationPath: "m/44'/37310'/0'/0/",
// Higher polling interval to check for blocks less frequently
pollingInterval: 15e3,
}),
// Ref: http://developers.rsk.co/rsk/architecture/account-based/#chainid
network_id: 31,
gasPrice: gasPriceTestnet,
networkCheckTimeout: 1e6,
timeoutBlocks: 100,
// Higher polling interval to check for blocks less frequently
// during deployment
deploymentPollingInterval: 15e3,
},
Pros
- RSK has lower gas fees compared to Ethereum - ~2-2.5%
- You can build and use smart contracts using the same tools/software/libraries
Cons
- The block time is 30 sec, which is slower than 15 sec in Ethereum
You can find a guide here on how to port Ethereum dApp to RSK.