Skip to content

Latest commit

 

History

History
61 lines (51 loc) · 1.86 KB

2_合约部署.md

File metadata and controls

61 lines (51 loc) · 1.86 KB

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配置:

  1. 首先在工程中添加arb-ethers-web3-bridge
	yarn add --dev arb-ethers-web3-bridge
  1. 编辑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预编译合约