Commit 343a51e3 authored by QM's avatar QM Committed by vipwzw

add boss4x offline create_file

parent bc3473ec
......@@ -34,6 +34,8 @@ cp ./build/* "${OUT_DIR}"
cp ./build/abi/* "${OUT_DIR}"
cp ../../cross2eth/cmd/build/public/* "${OUT_DIR}"
cp ../../cross2eth/cmd/build/abi/* "${OUT_DIR}"
cp ../../cross2eth/boss4x/chain33/deploy_chain33.toml "${OUT_DIR}"
cp ../../cross2eth/boss4x/ethereum/deploy_ethereum.toml "${OUT_DIR}"
OUT_TESTDIR="${1}/dapptest/$strapp"
mkdir -p "${OUT_TESTDIR}"
......
......@@ -230,7 +230,7 @@ function get_evm_cli() {
CLID="docker exec ${dockerNamePrefix}_ebrelayerd_1 /root/ebcli_A"
docker_ganachetest_ip=$(get_docker_addr "${dockerNamePrefix}_ganachetest_1")
Boss4xCLI="docker exec ${dockerNamePrefix}_ebrelayera_1 /root/boss4x --rpc_laddr http://${docker_chain33_ip}:8901 --rpc_laddr_ethereum http://${docker_ganachetest_ip}:8545 --paraName user.p.para. --chainID ${chain33ID} --chainEthId 0"
Boss4xCLI="docker exec ${dockerNamePrefix}_ebrelayera_1 /root/boss4x --rpc_laddr http://${docker_chain33_ip}:8901 --rpc_laddr_ethereum http://${docker_ganachetest_ip}:8545 --paraName user.p.para. --chainID ${chain33ID} --chainEthId 1337"
EvmxgoBoss4xCLI="./evmxgoboss4x --rpc_laddr http://${docker_chain33_ip}:8901 --paraName user.p.para. --chainID ${chain33ID}"
}
}
......
# 验证人地址,至少配置3个以上,即大于等于3个
validatorsAddr=["1N6HstkyLFS8QCeVfdvYxx1xoryXoJtvvZ", "155ooMPBTF8QQsGAknkK7ei5D78rwDEFe6", "13zBdQwuyDh7cKN79oT2odkxYuDbgQiXFv", "113ZzVamKfAtGt9dq45fX1mNsEoDiN95HG"]
# 验证人权重
initPowers=[25, 25, 25, 25]
# 离线多签地址
multisignAddrs=["168Sn1DXnLrZHTcAM9stD6t2P49fNuJfJ9", "13KTf57aCkVVJYNJBXBBveiA5V811SrLcT", "1JQwQWsShTHC4zxHzbUfYQK4kRBriUQdEe", "1NHuKqoKe3hyv52PF8XBAyaTmJWAqA2Jbb"]
\ No newline at end of file
......@@ -3,6 +3,7 @@ package offline
import (
"encoding/json"
"fmt"
tml "github.com/BurntSushi/toml"
"io/ioutil"
"os"
"time"
......@@ -22,6 +23,7 @@ func Boss4xOfflineCmd() *cobra.Command {
}
cmd.AddCommand(
CreateCrossBridgeCmd(),
CreateContractsWithFileCmd(),
SendSignTxs2Chain33Cmd(),
CreateERC20Cmd(),
ApproveErc20Cmd(),
......@@ -107,9 +109,9 @@ func paraseFile(file string, result interface{}) error {
return json.Unmarshal(b, result)
}
func createOfflineTx(cmd *cobra.Command, para []byte, contractAddr, name string, interval time.Duration) (*utils.Chain33OfflineTx, error) {
func createOfflineTx(txCreateInfo *utils.TxCreateInfo, para []byte, contractAddr, name string, interval time.Duration) (*utils.Chain33OfflineTx, error) {
action := &evmtypes.EVMContractAction{Amount: 0, GasLimit: 0, GasPrice: 0, Note: name, Para: para, ContractAddr: contractAddr}
content, txHash, err := utils.CallContractAndSign(getTxInfo(cmd), action, contractAddr)
content, txHash, err := utils.CallContractAndSign(txCreateInfo, action, contractAddr)
if nil != err {
return nil, err
}
......@@ -126,7 +128,7 @@ func createOfflineTx(cmd *cobra.Command, para []byte, contractAddr, name string,
}
func callContractAndSignWrite(cmd *cobra.Command, para []byte, contractAddr, name string) {
Tx, err := createOfflineTx(cmd, para, contractAddr, name, 0)
Tx, err := createOfflineTx(getTxInfo(cmd), para, contractAddr, name, 0)
if nil != err {
fmt.Println("CallContractAndSign", "Failed", err.Error(), "name", name)
return
......@@ -145,3 +147,11 @@ func callContractAndSignWrite(cmd *cobra.Command, para []byte, contractAddr, nam
fmt.Printf("Write all the txs to file: %s \n", fileName)
utils.WriteToFileInJson(fileName, txs)
}
func InitCfg(filepath string, cfg interface{}) {
if _, err := tml.DecodeFile(filepath, cfg); err != nil {
fmt.Println(err)
os.Exit(-1)
}
return
}
......@@ -108,7 +108,6 @@ func DeployContrcts(cmd *cobra.Command, args []string) {
}
func InitCfg(filepath string, cfg interface{}) {
if _, err := tml.DecodeFile(filepath, cfg); err != nil {
fmt.Println(err)
os.Exit(-1)
......
......@@ -3,7 +3,7 @@ operatorAddr="0x8afdadfc88a1087c9a1d6c0f5dd04634b87f303a"
# 验证人地址,至少配置3个以上,即大于等于3个
validatorsAddr=["0x8afdadfc88a1087c9a1d6c0f5dd04634b87f303a", "0x0df9a824699bc5878232c9e612fe1a5346a5a368", "0xcb074cb21cdddf3ce9c3c0a7ac4497d633c9d9f1", "0xd9dab021e74ecf475788ed7b61356056b2095830"]
# 验证人权重
initPowers=[96, 1, 1, 1]
initPowers=[25, 25, 25, 25]
# 主链symbol
symbol="ETH"
# 离线多签地址
......
......@@ -505,7 +505,7 @@ func CreateWithFileCmd() *cobra.Command {
}
func addCreateWithFileFlags(cmd *cobra.Command) {
cmd.Flags().StringP("conf", "c", "", "config file")
cmd.Flags().StringP("conf", "f", "", "config file")
_ = cmd.MarkFlagRequired("conf")
}
......
......@@ -50,7 +50,7 @@ tx is written to file: deploytxs.txt
把交易信息写入文件中
```
##### 文件部署
把要部署需要的数据写入 deploy.toml 配置文件
把要部署需要的数据写入 deploy_ethereum.toml 配置文件
```toml
# 合约部署人
operatorAddr="0x8afdadfc88a1087c9a1d6c0f5dd04634b87f303a"
......@@ -65,7 +65,7 @@ multisignAddrs=["0x4c85848a7E2985B76f06a7Ed338FCB3aF94a7DCf", "0x6F163E6daf0090D
```
命令:
```shell
./boss4x ethereum offline create_file -c deploy.toml
./boss4x ethereum offline create_file -c deploy_ethereum.toml
```
* 离线签名交易
......
......@@ -30,6 +30,8 @@ cp ../ebrelayer/relayer.toml "${OUT_DIR}/relayer.toml"
cp ./build/* "${OUT_DIR}"
cp ./build/abi/* "${OUT_DIR}"
cp ./build/public/* "${OUT_DIR}"
cp ../../cross2eth/boss4x/chain33/deploy_chain33.toml "${OUT_DIR}"
cp ../../cross2eth/boss4x/ethereum/deploy_ethereum.toml "${OUT_DIR}"
OUT_TESTDIR="${1}/dapptest/$strapp"
mkdir -p "${OUT_TESTDIR}"
......
......@@ -854,7 +854,7 @@ function get_cli() {
CLID="docker exec ${dockerNamePrefix}_ebrelayerd_1 /root/ebcli_A"
docker_ganachetest_ip=$(get_docker_addr "${dockerNamePrefix}_ganachetest_1")
Boss4xCLI="docker exec ${dockerNamePrefix}_ebrelayera_1 /root/boss4x --rpc_laddr http://${docker_chain33_ip}:8901 --rpc_laddr_ethereum http://${docker_ganachetest_ip}:8545 --paraName user.p.para. --chainID ${chain33ID} --chainEthId 0"
Boss4xCLI="docker exec ${dockerNamePrefix}_ebrelayera_1 /root/boss4x --rpc_laddr http://${docker_chain33_ip}:8901 --rpc_laddr_ethereum http://${docker_ganachetest_ip}:8545 --paraName user.p.para. --chainID ${chain33ID} --chainEthId 1337"
}
}
......
......@@ -53,7 +53,6 @@ CLIA="./ebcli_A"
CLIB="./ebcli_B"
CLIC="./ebcli_C"
CLID="./ebcli_D"
chain33ID=0
function kill_ebrelayerC() {
kill_ebrelayer ./relayer_C/ebrelayer
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment