###  离线部署ethereum Dex合约
*** 
#### 步骤一： 查询deployer地址的nonce信息
```
./boss  offline eth query -a 0x8AFDADFC88a1087c9A1D6c0F5Dd04634b87F303a --rpc_laddr  wss://ws-testnet.hecochain.com

-a: 指定要查询的部署合约的地址
--rpc_laddr: 区块链节点地址
```

上述步骤获取到一个输出文件：**accountinfo.txt** 文件，文件内容如下：
```
{
        "From": "0x8AFDADFC88a1087c9A1D6c0F5Dd04634b87F303a",
        "Nonce": 21,
        "GasPrice": 1000000000,
        "FactoryAddr": "",
        "TxHash": "",
        "Fee2Addr": "",
        "Timestamp": "2021-06-15T16:51:58+08:00",
        "SignedTx": "",
        "Reward": 0,
        "StartBlock": 0
}

```
***

#### 步骤二： 批量构造交易，并签名交易数据（离线操作）
> 这一步是离线操作，需要使用到之前步骤一查询操作产生的**accountinfo.txt** 文件 
```
#./boss offline eth sign -f accountinfo.txt 
-p 8656d2bc732a8a816a461ba5e2d8aac7c7f85c26a813df30d5327210465eb230 --reward 5 --start 5618990 
--fee2stter 0x8afdadfc88a1087c9a1d6c0f5dd04634b87f303a -g 1000000000 -n 21


备注：
-f：步骤一创建的accountinfo.txt 文件
-p:部署者的私钥
--reward:  区块奖励数
--start: 设置启动高度
--fee2stter: 设置管理员账户地址
-g :指定上一步查询获得的gasprice
-n:指定查询获得的nonce
```
上述操作后，得到一个输出文件： **signed.txt** 文件，文件内容如下：
```
[
	{
		"ContractAddr": "0xDE480A98E57D5255A4D7D577FaD973803b13Face",
		"TxHash": "0x443f77a27c4c63cfbd8d7425cd560c1c75c08ea8164013fca12d44b7548182dc",
		"Nonce": 21,
		"SignedRawTx": "[encoded data, 23538 characters]",
		"ContractName": "factory",
		"Interval": 0
	},
	{
		"ContractAddr": "0x92c1D48b17762dFEE25E0210197D14Fd603c29C1",
		"TxHash": "0x08f43436f9e524dc3c79c06222dcc852f1086e6de21f2c257283051d3a4ba169",
		"Nonce": 22,
		"SignedRawTx": "[encoded data, 4496 characters]",
		"ContractName": "weth9",
		"Interval": 0
	},

```
***

#### 步骤三：发送签名后的数据（在线操作）

```
#./boss  offline eth send  -f signed.txt --rpc_laddr  wss://ws-testnet.hecochain.com

备注：
-f:指定要发送的签名后的文件
--rpc_laddr:指定对应的区块链节点
```

发送后的结果如下：
```
deplay contract Index Tx 1 TxHash 0xb65ad6ce5184ea7dbfabe95c869421659894de468f8faafaf5971f34aa8e995b contractName valset contractAddr 0x45AF9C65BD5963e0c2023099595808684E96ba67
deplay contract Index Tx 2 TxHash 0xe544bacd4aa05cd29b06464c49e264f1e8c5c1b7048ba362074ff8f07522f30b contractName chain33bridge contractAddr 0xeA2786AeB408Be0FaFEA630b7cC48FA6A2163194
deplay contract Index Tx 3 TxHash 0xb913c58775543966f0615ff781995ab1085e6962deb196c1caffefa4a3d1fbaf contractName oracle contractAddr 0x365419E31C85A0a696c79E7b9f10406E20727451
deplay contract Index Tx 4 TxHash 0x1678f04f86a131ab26a72ac06f3c32f3c07501641951c51261c7e404cae49a56 contractName bridgeBank contractAddr 0xAfD11ca332561A73f730Bd94E831891647421f7C
deplay contract Index Tx 5 TxHash 0x7ac6b816ea47c261516898f5c1a52fceb7ad615fc4dec91eeb561cd2a5b9cca1 contractName setbridgebank contractAddr 0x81684bFa3e375c09dCe3A5f96f7DE98EC108724D
deplay contract Index Tx 6 TxHash 0x2d537cbd64f381295de7db9436973193e573b74e169a8bbb6df841fe4c60d842 contractName setOracle contractAddr 0x6a6F0e58f1C7b6F14892Fb014714d5c4E23193bF
deplay contract Index Tx 7 TxHash 0x48a296d65b6b5ad236bb433e66257b6471e249cc5a76827022980833f1900a8e contractName bridgeRegistry contractAddr 0x32CaC08A3f7974d3966C936Aa2b6f597D6118e34
All tx send ...

```