Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
plugin
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
link33
plugin
Commits
ad309811
Commit
ad309811
authored
Sep 11, 2020
by
QM
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'upstream/master' into issues898_para_add_supervision
parents
28e5ae03
93df499c
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
139 additions
and
115 deletions
+139
-115
consensus_state.go
plugin/consensus/tendermint/consensus_state.go
+5
-1
node.go
plugin/consensus/tendermint/node.go
+1
-2
peer_set.go
plugin/consensus/tendermint/peer_set.go
+11
-17
tendermint.go
plugin/consensus/tendermint/tendermint.go
+26
-2
nonePerf.go
plugin/consensus/tendermint/tools/nonePerf.go
+1
-1
const.go
plugin/dapp/dposvote/types/const.go
+1
-1
Dockerfile-x2ethrelay
plugin/dapp/x2ethereum/cmd/build/Dockerfile-x2ethrelay
+2
-4
allRelayerTest.sh
plugin/dapp/x2ethereum/cmd/build/allRelayerTest.sh
+40
-41
docker-compose-ebrelayer.yml
...in/dapp/x2ethereum/cmd/build/docker-compose-ebrelayer.yml
+0
-11
publicTest.sh
plugin/dapp/x2ethereum/cmd/build/publicTest.sh
+0
-0
sleep.sh
plugin/dapp/x2ethereum/cmd/build/sleep.sh
+9
-0
test-rpc.sh
plugin/dapp/x2ethereum/cmd/test/test-rpc.sh
+43
-35
No files found.
plugin/consensus/tendermint/consensus_state.go
View file @
ad309811
...
...
@@ -768,8 +768,12 @@ func (cs *ConsensusState) createProposalBlock() (block *ttypes.TendermintBlock)
// Mempool validated transactions
beg
:=
time
.
Now
()
pblock
:=
cs
.
client
.
BuildBlock
()
if
pblock
==
nil
{
tendermintlog
.
Error
(
"createProposalBlock BuildBlock fail"
)
return
nil
}
tendermintlog
.
Info
(
fmt
.
Sprintf
(
"createProposalBlock BuildBlock. Current: %v/%v/%v"
,
cs
.
Height
,
cs
.
Round
,
cs
.
Step
),
"txs-len"
,
len
(
pblock
.
Txs
),
"cost"
,
types
.
Since
(
beg
))
"
height"
,
pblock
.
Height
,
"
txs-len"
,
len
(
pblock
.
Txs
),
"cost"
,
types
.
Since
(
beg
))
if
pblock
.
Height
!=
cs
.
Height
{
tendermintlog
.
Error
(
"pblock.Height is not equal to cs.Height"
)
...
...
plugin/consensus/tendermint/node.go
View file @
ad309811
...
...
@@ -25,7 +25,6 @@ const (
tryListenSeconds
=
5
handshakeTimeout
=
20
// * time.Second,
maxSendQueueSize
=
1024
minSendQueueSize
=
10
defaultSendTimeout
=
60
*
time
.
Second
//MaxMsgPacketPayloadSize define
MaxMsgPacketPayloadSize
=
10
*
1024
*
1024
...
...
@@ -153,7 +152,7 @@ func NewNode(seeds []string, protocol string, lAddr string, privKey crypto.PrivK
dialing
:
NewMutexMap
(),
reconnecting
:
NewMutexMap
(),
broadcastChannel
:
make
(
chan
MsgInfo
,
maxSendQueueSize
),
unicastChannel
:
make
(
chan
MsgInfo
,
m
in
SendQueueSize
),
unicastChannel
:
make
(
chan
MsgInfo
,
m
ax
SendQueueSize
),
state
:
state
,
localIPs
:
make
(
map
[
string
]
net
.
IP
),
}
...
...
plugin/consensus/tendermint/peer_set.go
View file @
ad309811
...
...
@@ -481,7 +481,7 @@ FOR_LOOP:
pc
.
sendBuffer
=
append
(
pc
.
sendBuffer
,
bytes
...
)
if
len
+
5
>
MaxMsgPacketPayloadSize
{
pc
.
sendBuffer
=
append
(
pc
.
sendBuffer
,
bytes
[
MaxMsgPacketPayloadSize
-
5
:
]
...
)
tendermintlog
.
Info
(
"packet exceed max size"
,
"len"
,
len
+
5
)
}
_
,
err
=
pc
.
bufWriter
.
Write
(
pc
.
sendBuffer
[
:
len
+
5
])
if
err
!=
nil
{
...
...
@@ -688,29 +688,23 @@ OUTER_LOOP:
// If the peer is on a previous height, help catch up.
if
(
0
<
prs
.
Height
)
&&
(
prs
.
Height
<
rs
.
Height
)
{
if
prs
.
ProposalBlockHash
==
nil
||
prs
.
ProposalBlock
{
time
.
Sleep
(
pc
.
myState
.
PeerGossipSleep
())
time
.
Sleep
(
2
*
pc
.
myState
.
PeerGossipSleep
())
if
prs
.
Height
>=
rs
.
Height
{
continue
OUTER_LOOP
}
tendermintlog
.
Info
(
"help catch up"
,
"peerip"
,
pc
.
ip
.
String
(),
"selfHeight"
,
rs
.
Height
,
"peerHeight"
,
prs
.
Height
)
proposalBlock
:=
pc
.
myState
.
client
.
LoadProposalBlock
(
prs
.
Height
)
newBlock
:=
&
ttypes
.
TendermintBlock
{
TendermintBlock
:
proposalBlock
}
if
proposalBlock
==
nil
{
tendermintlog
.
Error
(
"Fail to load propsal block"
,
"selfHeight"
,
rs
.
Height
,
"blockstoreHeight"
,
pc
.
myState
.
client
.
GetCurrentHeight
())
time
.
Sleep
(
pc
.
myState
.
PeerGossipSleep
())
continue
OUTER_LOOP
}
else
if
!
bytes
.
Equal
(
newBlock
.
Hash
(),
prs
.
ProposalBlockHash
)
{
tendermintlog
.
Error
(
"Peer ProposalBlockHash mismatch"
,
"ProposalBlockHash"
,
fmt
.
Sprintf
(
"%X"
,
prs
.
ProposalBlockHash
),
"newBlockHash"
,
fmt
.
Sprintf
(
"%X"
,
newBlock
.
Hash
()))
time
.
Sleep
(
pc
.
myState
.
PeerGossipSleep
())
tendermintlog
.
Error
(
"load proposal block fail"
,
"selfHeight"
,
rs
.
Height
,
"blockHeight"
,
pc
.
myState
.
client
.
GetCurrentHeight
())
continue
OUTER_LOOP
}
newBlock
:=
&
ttypes
.
TendermintBlock
{
TendermintBlock
:
proposalBlock
}
msg
:=
MsgInfo
{
TypeID
:
ttypes
.
ProposalBlockID
,
Msg
:
proposalBlock
,
PeerID
:
pc
.
id
,
PeerIP
:
pc
.
ip
.
String
()}
tendermintlog
.
Info
(
"Sending block for catchup"
,
"peerip"
,
pc
.
ip
.
String
(),
"block(H/R)"
,
fmt
.
Sprintf
(
"%v/%v"
,
proposalBlock
.
Header
.
Height
,
proposalBlock
.
Header
.
Round
))
if
pc
.
Send
(
msg
)
{
prs
.
SetHasProposalBlock
(
newBlock
)
tendermintlog
.
Info
(
"Sending block for catchup"
,
"peerip"
,
pc
.
ip
.
String
(),
"selfHeight"
,
rs
.
Height
,
"peerHeight"
,
prs
.
Height
,
"block(H/R/hash)"
,
fmt
.
Sprintf
(
"%v/%v/%X"
,
proposalBlock
.
Header
.
Height
,
proposalBlock
.
Header
.
Round
,
newBlock
.
Hash
()))
if
!
pc
.
Send
(
msg
)
{
tendermintlog
.
Error
(
"send catchup block fail"
)
}
continue
OUTER_LOOP
}
...
...
plugin/consensus/tendermint/tendermint.go
View file @
ad309811
...
...
@@ -473,9 +473,29 @@ func (client *Client) StopC() <-chan struct{} {
return
client
.
stopC
}
// GetMempoolSize get tx num in mempool
func
(
client
*
Client
)
GetMempoolSize
()
int64
{
msg
:=
client
.
GetQueueClient
()
.
NewMessage
(
"mempool"
,
types
.
EventGetMempoolSize
,
nil
)
err
:=
client
.
GetQueueClient
()
.
Send
(
msg
,
true
)
if
err
!=
nil
{
tendermintlog
.
Error
(
"GetMempoolSize send"
,
"err"
,
err
)
return
0
}
resp
,
err
:=
client
.
GetQueueClient
()
.
Wait
(
msg
)
if
err
!=
nil
{
tendermintlog
.
Error
(
"GetMempoolSize result"
,
"err"
,
err
)
return
0
}
return
resp
.
GetData
()
.
(
*
types
.
MempoolSize
)
.
GetSize
()
}
// CheckTxsAvailable check whether some new transactions arriving
func
(
client
*
Client
)
CheckTxsAvailable
(
height
int64
)
bool
{
txs
:=
client
.
RequestTx
(
10
,
nil
)
num
:=
client
.
GetMempoolSize
()
if
num
==
0
{
return
false
}
txs
:=
client
.
RequestTx
(
int
(
num
),
nil
)
txs
=
client
.
CheckTxDup
(
txs
,
height
)
return
len
(
txs
)
!=
0
}
...
...
@@ -493,7 +513,11 @@ func (client *Client) CheckTxDup(txs []*types.Transaction, height int64) (transa
// BuildBlock build a new block
func
(
client
*
Client
)
BuildBlock
()
*
types
.
Block
{
lastBlock
:=
client
.
GetCurrentBlock
()
lastBlock
,
err
:=
client
.
RequestLastBlock
()
if
err
!=
nil
{
tendermintlog
.
Error
(
"BuildBlock fail"
,
"err"
,
err
)
return
nil
}
cfg
:=
client
.
GetAPI
()
.
GetConfig
()
txs
:=
client
.
RequestTx
(
int
(
cfg
.
GetP
(
lastBlock
.
Height
+
1
)
.
MaxTxNumber
)
-
1
,
nil
)
// placeholder
...
...
plugin/consensus/tendermint/tools/nonePerf.go
View file @
ad309811
...
...
@@ -74,7 +74,7 @@ func main() {
// LoadHelp ...
func
LoadHelp
()
{
fmt
.
Println
(
"Available Commands:"
)
fmt
.
Println
(
"perf [ip, size, num, interval, duration]
{offset}
: 写数据性能测试"
)
fmt
.
Println
(
"perf [ip, size, num, interval, duration]
: 写数据性能测试"
)
fmt
.
Println
(
"put [ip, size] : 写数据"
)
fmt
.
Println
(
"get [ip, hash] : 读数据"
)
fmt
.
Println
(
"valnode [ip, pubkey, power] : 增加/删除/修改tendermint节点"
)
...
...
plugin/dapp/dposvote/types/const.go
View file @
ad309811
...
...
@@ -47,7 +47,7 @@ const (
//VoteFrozenTime = 3 * 24 * 3600
//RegistFrozenCoins 注册为候选节点需要抵押冻结的代币数量
RegistFrozenCoins
=
1000000000000
RegistFrozenCoins
int64
=
1000000000000
//VoteTypeNone 非投票类型
VoteTypeNone
int32
=
1
...
...
plugin/dapp/x2ethereum/cmd/build/Dockerfile-x2ethrelay
View file @
ad309811
FROM ubuntu:16.04
WORKDIR /root
COPY relayer.toml relayer.toml
COPY ebrelayer ebrelayer
COPY ebcli_A ebcli_A
COPY sleep.sh sleep.sh
EXPOSE 20000
CMD ["/root/ebrelayer"]
CMD ["/root/sleep.sh"]
plugin/dapp/x2ethereum/cmd/build/allRelayerTest.sh
View file @
ad309811
...
...
@@ -31,18 +31,23 @@ tokenAddrBty=""
tokenAddr
=
""
ethUrl
=
""
Chain33Cli
=
""
portRelayer
=
20000
function
kill_ebrelayerC
()
{
#shellcheck disable=SC2154
docker stop
"
${
dockerNamePrefix
}
_ebrelayerc_1"
kill_docker_ebrelayer
"
${
dockerNamePrefix
}
_ebrelayerc_1"
}
function
kill_ebrelayerD
()
{
docker stop
"
${
dockerNamePrefix
}
_ebrelayerd_1"
kill_docker_ebrelayer
"
${
dockerNamePrefix
}
_ebrelayerd_1"
}
function
start_ebrelayerA
()
{
docker
cp
"./relayer.toml"
"
${
dockerNamePrefix
}
_ebrelayera_1"
:/root/relayer.toml
start_docker_ebrelayer
"
${
dockerNamePrefix
}
_ebrelayera_1"
"/root/ebrelayer"
"./ebrelayera.log"
sleep
5
}
function
start_ebrelayerC
()
{
docker start
"
${
dockerNamePrefix
}
_ebrelayerc_1
"
start_docker_ebrelayer
"
${
dockerNamePrefix
}
_ebrelayerc_1"
"/root/ebrelayer"
"./ebrelayerc.log
"
sleep
5
${
CLIC
}
relayer unlock
-p
123456hzj
sleep
5
...
...
@@ -50,7 +55,7 @@ function start_ebrelayerC() {
sleep
10
}
function
start_ebrelayerD
()
{
docker start
"
${
dockerNamePrefix
}
_ebrelayerd_1
"
start_docker_ebrelayer
"
${
dockerNamePrefix
}
_ebrelayerd_1"
"/root/ebrelayer"
"./ebrelayerd.log
"
sleep
5
${
CLID
}
relayer unlock
-p
123456hzj
sleep
5
...
...
@@ -72,42 +77,17 @@ function InitAndDeploy() {
echo
-e
"
${
GRE
}
===========
$FUNCNAME
end ===========
${
NOC
}
"
}
function
port_exist
()
{
local
prot_ori
=
${
portRelayer
}
grep_port
=
$(
netstat
-tlpn
|
grep
"
\b
${
portRelayer
}
\b
"
)
while
[
-n
"
$grep_port
"
]
;
do
echo
"port
$portRelayer
is in use"
portRelayer
=
$((
portRelayer
+
4
))
grep_port
=
$(
netstat
-tlpn
|
grep
"
\b
${
portRelayer
}
\b
"
)
done
if
[
"
${
portRelayer
}
"
!=
"
${
prot_ori
}
"
]
;
then
sed
-i
's/'
"
${
prot_ori
}
"
'/'
"
${
portRelayer
}
"
'/g'
"./docker-compose-ebrelayer.yml"
fi
}
function
StartRelayerAndDeploy
()
{
echo
-e
"
${
GRE
}
===========
$FUNCNAME
begin ===========
${
NOC
}
"
# stop all docker
docker-compose
-f
docker-compose-ebrelayer.yml down
for
name
in
b c d
;
do
docker-compose
-f
"docker-compose-ebrelayer
${
name
}
.yml"
down
done
# change EthProvider url
dockerAddr
=
$(
get_docker_addr
"
${
dockerNamePrefix
}
_ganachetest_1"
)
ethUrl
=
"http://
${
dockerAddr
}
:8545"
# shellcheck disable=SC2155
local
line
=
$(
delete_line_show
"./relayer.toml"
'EthProvider="ws:'
)
sed
-i
''
"
${
line
}
"
' a EthProvider="ws://'
"
${
dockerAddr
}
"
':8545/"'
"./relayer.toml"
line
=
$(
delete_line_show
"./relayer.toml"
'EthProviderCli="http:'
)
sed
-i
''
"
${
line
}
"
' a EthProviderCli="http://'
"
${
dockerAddr
}
"
':8545"'
"./relayer.toml"
port_exist
docker-compose
-f
docker-compose-ebrelayer.yml up
--build
-d
sleep
1
# 修改 relayer.toml 配置文件
updata_relayer_a_toml
"
${
dockerAddr
}
"
"
${
dockerNamePrefix
}
_ebrelayera_1"
"./relayer.toml"
# start ebrelayer A
start_ebrelayerA
# 部署合约
InitAndDeploy
...
...
@@ -115,19 +95,38 @@ function StartRelayerAndDeploy() {
result
=
$(${
CLIA
}
relayer ethereum bridgeRegistry
)
BridgeRegistry
=
$(
cli_ret
"
${
result
}
"
"bridgeRegistry"
".addr"
)
# kill_ebrelayer "./A/ebrelayer"
docker-compose
-f
docker-compose-ebrelayer.yml down
# kill ebrelayer A
kill_docker_ebrelayer
"
${
dockerNamePrefix
}
_ebrelayera_1"
sleep
1
# 修改 relayer.toml 配置文件
port_exist
updata_relayer_toml
"
${
BridgeRegistry
}
"
${
maturityDegree
}
"./relayer.toml"
updata_docker_relayer_toml
"
${
portRelayer
}
"
# 重启
start_ebrelayerA
docker-compose
-f
docker-compose-ebrelayer.yml up
--build
-d
# start ebrelayer B C D
for
name
in
b c d
;
do
docker-compose
-f
"docker-compose-ebrelayer
$name
.yml"
up
--build
-d
local
file
=
"./relayer
$name
.toml"
cp
'./relayer.toml'
"
${
file
}
"
# 删除配置文件中不需要的字段
for
deleteName
in
"deployerPrivateKey"
"operatorAddr"
"validatorsAddr"
"initPowers"
"deployerPrivateKey"
"deploy"
;
do
delete_line
"
${
file
}
"
"
${
deleteName
}
"
done
sed
-i
's/x2ethereum/x2ethereum'
${
name
}
'/g'
"
${
file
}
"
pushHost
=
$(
get_docker_addr
"
${
dockerNamePrefix
}
_ebrelayer
${
name
}
_1"
)
line
=
$(
delete_line_show
"
${
file
}
"
"pushHost"
)
sed
-i
''
"
${
line
}
"
' a pushHost="http://'
"
${
pushHost
}
"
':20000"'
"
${
file
}
"
line
=
$(
delete_line_show
"
${
file
}
"
"pushBind"
)
sed
-i
''
"
${
line
}
"
' a pushBind="'
"
${
pushHost
}
"
':20000"'
"
${
file
}
"
docker
cp
"
${
file
}
"
"
${
dockerNamePrefix
}
_ebrelayer
${
name
}
_1"
:/root/relayer.toml
start_docker_ebrelayer
"
${
dockerNamePrefix
}
_ebrelayer
${
name
}
_1"
"/root/ebrelayer"
"./ebrelayer
${
name
}
.log"
done
sleep
1
sleep
5
echo
-e
"
${
GRE
}
===========
$FUNCNAME
end ===========
${
NOC
}
"
}
...
...
plugin/dapp/x2ethereum/cmd/build/docker-compose-ebrelayer.yml
deleted
100644 → 0
View file @
28e5ae03
version
:
'
3'
services
:
ebrelayera
:
build
:
context
:
.
dockerfile
:
Dockerfile-x2ethrelay
ports
:
-
"
20000:20000"
plugin/dapp/x2ethereum/cmd/build/publicTest.sh
View file @
ad309811
This diff is collapsed.
Click to expand it.
plugin/dapp/x2ethereum/cmd/build/sleep.sh
0 → 100755
View file @
ad309811
#!/usr/bin/env bash
# shellcheck disable=SC2050
# shellcheck source=/dev/null
set
-x
set
+e
while
[
1
==
1
]
;
do
sleep
100
done
plugin/dapp/x2ethereum/cmd/test/test-rpc.sh
View file @
ad309811
...
...
@@ -28,13 +28,13 @@ ethReceiverAddrKey1="355b876d7cbcb930d5dfab767f66336ce327e082cbaa1877210c1bae89b
ethReceiverAddr2
=
"0x0c05ba5c230fdaa503b53702af1962e08d0c60bf"
#ethReceiverAddrKey2="9dc6df3a8ab139a54d8a984f54958ae0661f880229bf3bdbb886b87d58b56a08"
maturityDegree
=
5
portRelayer
=
19999
#
portRelayer=19999
ethUrl
=
""
CLIA_HTTP
=
"
http://127.0.0.1:9901
"
CLIB_HTTP
=
"
http://127.0.0.1:9902
"
CLIC_HTTP
=
"
http://127.0.0.1:9903
"
CLID_HTTP
=
"
http://127.0.0.1:9904
"
CLIA_HTTP
=
""
CLIB_HTTP
=
""
CLIC_HTTP
=
""
CLID_HTTP
=
""
# $1 sendAddress, $2 balance
function
queryExecBalance
()
{
...
...
@@ -77,6 +77,12 @@ function queryChain33X2ethBalance() {
fi
}
function
start_ebrelayerA
()
{
docker
cp
"./x2ethereum/relayer.toml"
"
${
dockerNamePrefix
}
_ebrelayera_rpc_1"
:/root/relayer.toml
start_docker_ebrelayer
"
${
dockerNamePrefix
}
_ebrelayera_rpc_1"
"/root/ebrelayer"
"./x2ethereum/ebrelayera.log"
sleep
5
}
function
StartRelayerAndDeploy
()
{
echo
-e
"
${
GRE
}
===========
$FUNCNAME
begin ===========
${
NOC
}
"
...
...
@@ -93,31 +99,13 @@ function StartRelayerAndDeploy() {
dockerAddr
=
$(
get_docker_addr
"
${
dockerNamePrefix
}
_ganachetest_rpc_1"
)
ethUrl
=
"http://
${
dockerAddr
}
:8545"
# shellcheck disable=SC2155
local
line
=
$(
delete_line_show
"./x2ethereum/relayer.toml"
'EthProvider="ws:'
)
sed
-i
''
"
${
line
}
"
' a EthProvider="ws://'
"
${
dockerAddr
}
"
':8545/"'
"./x2ethereum/relayer.toml"
line
=
$(
delete_line_show
"./x2ethereum/relayer.toml"
'EthProviderCli="http:'
)
sed
-i
''
"
${
line
}
"
' a EthProviderCli="http://'
"
${
dockerAddr
}
"
':8545"'
"./x2ethereum/relayer.toml"
grep_port
=
$(
netstat
-tlpn
|
grep
"
\b
${
portRelayer
}
\b
"
)
while
[
-n
"
$grep_port
"
]
;
do
echo
"port
$portRelayer
is in use"
portRelayer
=
$((
portRelayer
-
4
))
grep_port
=
$(
netstat
-tlpn
|
grep
"
\b
${
portRelayer
}
\b
"
)
done
line
=
$(
delete_line_show
"./x2ethereum/docker-compose-ebrelayer.yml"
"20000:20000"
)
sed
-i
''
"
${
line
}
"
' a \ \ \ \ \ \ -\ "'
${
portRelayer
}
':'
${
portRelayer
}
'"'
"./x2ethereum/docker-compose-ebrelayer.yml"
line
=
$(
delete_line_show
"./x2ethereum/docker-compose-ebrelayer.yml"
"ebrelayera:"
)
sed
-i
''
"
${
line
}
"
' a \ \ ebrelayera_rpc:'
"./x2ethereum/docker-compose-ebrelayer.yml"
# 修改 relayer.toml 配置文件
updata_relayer_a_toml
"
${
dockerAddr
}
"
"
${
dockerNamePrefix
}
_ebrelayera_rpc_1"
"./x2ethereum/relayer.toml"
line
=
$(
delete_line_show
"./x2ethereum/relayer.toml"
"localhost:9901"
)
sed
-i
''
"
${
line
}
"
' a JrpcBindAddr=":9901"'
"./x2ethereum/relayer.toml"
docker-compose
-f
./x2ethereum/docker-compose-ebrelayer.yml up
--build
-d
sleep
1
# start ebrelayer A
start_ebrelayerA
ebrelayeraRpcHost
=
$(
get_docker_addr
"
${
dockerNamePrefix
}
_ebrelayera_rpc_1"
)
if
[[
${
ebrelayeraRpcHost
}
==
""
]]
;
then
...
...
@@ -133,17 +121,38 @@ function StartRelayerAndDeploy() {
chain33_Http
"
$req
"
"
${
CLIA_HTTP
}
"
'(.error|not) and (.result != null)'
"
$FUNCNAME
"
".result.addr"
local
BridgeRegistry
=
"
$RETURN_RESP
"
docker-compose
-f
./x2ethereum/docker-compose-ebrelayer.yml down
# kill ebrelayer A
kill_docker_ebrelayer
"
${
dockerNamePrefix
}
_ebrelayera_rpc_1"
sleep
1
# 修改 relayer.toml 配置文件
updata_relayer_toml_rpc
"
${
BridgeRegistry
}
"
"
${
maturityDegree
}
"
"
${
MAIN_HTTP
}
"
"./x2ethereum/relayer.toml"
updata_docker_relayer_toml_rpc
${
portRelayer
}
updata_relayer_toml
"
${
BridgeRegistry
}
"
${
maturityDegree
}
"./x2ethereum/relayer.toml"
# 重启
start_ebrelayerA
docker-compose
-f
"./x2ethereum/docker-compose-ebrelayer.yml"
up
--build
-d
# start ebrelayer B C D
for
name
in
b c d
;
do
docker-compose
-f
"./x2ethereum/docker-compose-ebrelayer
$name
.yml"
down
docker-compose
-f
"./x2ethereum/docker-compose-ebrelayer
$name
.yml"
up
--build
-d
local
file
=
"./x2ethereum/relayer
$name
.toml"
cp
'./x2ethereum/relayer.toml'
"
${
file
}
"
# 删除配置文件中不需要的字段
for
deleteName
in
"deployerPrivateKey"
"operatorAddr"
"validatorsAddr"
"initPowers"
"deployerPrivateKey"
"deploy"
;
do
delete_line
"
${
file
}
"
"
${
deleteName
}
"
done
sed
-i
's/x2ethereum/x2ethereum'
${
name
}
'/g'
"
${
file
}
"
pushHost
=
$(
get_docker_addr
"
${
dockerNamePrefix
}
_ebrelayer
${
name
}
_rpc_1"
)
line
=
$(
delete_line_show
"
${
file
}
"
"pushHost"
)
sed
-i
''
"
${
line
}
"
' a pushHost="http://'
"
${
pushHost
}
"
':20000"'
"
${
file
}
"
line
=
$(
delete_line_show
"
${
file
}
"
"pushBind"
)
sed
-i
''
"
${
line
}
"
' a pushBind="'
"
${
pushHost
}
"
':20000"'
"
${
file
}
"
docker
cp
"
${
file
}
"
"
${
dockerNamePrefix
}
_ebrelayer
${
name
}
_rpc_1"
:/root/relayer.toml
start_docker_ebrelayer
"
${
dockerNamePrefix
}
_ebrelayer
${
name
}
_rpc_1"
"/root/ebrelayer"
"./x2ethereum/ebrelayer
${
name
}
.log"
done
sleep
1
sleep
5
ebrelayeraRpcHost
=
$(
get_docker_addr
"
${
dockerNamePrefix
}
_ebrelayera_rpc_1"
)
CLIA_HTTP
=
"http://
${
ebrelayeraRpcHost
}
:9901"
...
...
@@ -223,7 +232,6 @@ function EthImportKey() {
# 解锁
local
req
=
'{"method":"Manager.SetPassphase","params":[{"Passphase":"123456hzj"}]}'
chain33_Http
"
$req
"
"
${
CLIA_HTTP
}
"
'(.error|not) and (.result != null)'
"SetPassphase"
".result"
chain33_Http
"
$req
"
"
${
CLIB_HTTP
}
"
'(.error|not) and (.result != null)'
"SetPassphase"
".result"
chain33_Http
"
$req
"
"
${
CLIC_HTTP
}
"
'(.error|not) and (.result != null)'
"SetPassphase"
".result"
chain33_Http
"
$req
"
"
${
CLID_HTTP
}
"
'(.error|not) and (.result != null)'
"SetPassphase"
".result"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment