2_合约部署
Arbitrum支持标准的EVM合约部署。这意味着标准的Solidity合约能够使用既有的开发者工具就可部署在Arbitrum链上。
要部署合约,先将开发者工具指向Arbitrum链上。虽然这应该比较简单直接,我们还是为一些build系统提供了一些说明,后续还有更多。如果你使用的build系统没有列于此并对其配置有问题,请在Discord上向我们反馈。
Hardhat
要讲现有的hardhat配置直接移植,只需要在hardhat.config.ts
中加入Arbitrum RPC url:
module.exports = {
solidity: '0.7.3',
networks: {
arbitrum: {
url: 'https://rinkeby.arbitrum.io/rpc',
gasPrice: 0,
},
},
}
Truffle
移植现有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预编译合约