Arbitrum支持标准的EVM合约部署。这意味着标准的Solidity合约能够使用既有的开发者工具就可部署在Arbitrum链上。
要部署合约,先将开发者工具指向Arbitrum链上。虽然这应该比较简单直接,我们还是为一些build系统提供了一些说明,后续还有更多。如果你使用的build系统没有列于此并对其配置有问题,请在Discord上向我们反馈。
要讲现有的hardhat配置直接移植,只需要在hardhat.config.ts
中加入Arbitrum RPC url:
module.exports = {
solidity: '0.7.3',
networks: {
arbitrum: {
url: 'https://rinkeby.arbitrum.io/rpc',
gasPrice: 0,
},
},
}
移植现有truffle配置:
- 首先在工程中添加
arb-ethers-web3-bridge
:
yarn add --dev arb-ethers-web3-bridge
- 编辑
truffle-config.js
中的内容:
- 从
arb-ethers-web3-bridge
中导入wrapProvider
,并在文件顶端设置mnemonic以及指向Arbitrum聚合器的节点。
*const* wrapProvider = require('arb-ethers-web3-bridge').wrapProvider
*const* HDWalletProvider = require('@truffle/hdwallet-provider')
*const* mnemonic =
'jar deny prosper gasp flush glass core corn alarm treat leg smart'
*const* arbProviderUrl = 'http://localhost:8547/'
- 在
module.exports
中添加arbitrum
网络:
module.exports = {
arbitrum: {
provider: function () {
// return wrapped provider:
return wrapProvider(
new HDWalletProvider(mnemonic, arbProviderUrl)
)
},
network_id: '*',
gasPrice: 0,
},
},
}
现在整个truffle工程已经设置完毕,运行migrate以部署合约:
truffle migrate --reset --network arbitrum
← 1_前端集成 → 3_ArbSys预编译合约