Commit a0f8a384 authored by duanjinfei's avatar duanjinfei

add sign tx arr mux

parent cce4e4ad
...@@ -9,6 +9,7 @@ import ( ...@@ -9,6 +9,7 @@ import (
"github.com/ethereum/go-ethereum/core/types" "github.com/ethereum/go-ethereum/core/types"
"github.com/ethereum/go-ethereum/crypto" "github.com/ethereum/go-ethereum/crypto"
"math/big" "math/big"
"sync"
"sync/atomic" "sync/atomic"
"time" "time"
) )
...@@ -28,9 +29,16 @@ type Transactor struct { ...@@ -28,9 +29,16 @@ type Transactor struct {
receivedAddr common.Address receivedAddr common.Address
} }
type SignTranArr struct {
TranArr []*types.Transaction
mux sync.Mutex
}
var ( var (
tran = make(chan *Transactor, 0) tran = make(chan *Transactor, 0)
tranArr = make([]*types.Transaction, 0) signTranArr = &SignTranArr{
TranArr: make([]*types.Transaction, 0),
}
batchSignCount int32 batchSignCount int32
) )
...@@ -84,7 +92,7 @@ func SignedTxArr(sendTxAccountArr [][]string, cfg *tool.Config) []*types.Transac ...@@ -84,7 +92,7 @@ func SignedTxArr(sendTxAccountArr [][]string, cfg *tool.Config) []*types.Transac
} }
for { for {
if len(sendTxAccountArr)*cfg.SignCount == int(batchSignCount) { if len(sendTxAccountArr)*cfg.SignCount == int(batchSignCount) {
return tranArr return signTranArr.TranArr
} }
} }
} }
...@@ -110,8 +118,14 @@ func signedTxFunc() (*types.Transaction, error) { ...@@ -110,8 +118,14 @@ func signedTxFunc() (*types.Transaction, error) {
return nil, err return nil, err
} }
txcache.Add(signedTx.Hash().Hex(), t.sender.Hex()) txcache.Add(signedTx.Hash().Hex(), t.sender.Hex())
tranArr = append(tranArr, signedTx)
atomic.AddInt32(&batchSignCount, 1) atomic.AddInt32(&batchSignCount, 1)
Add(signedTx)
} }
} }
} }
func Add(signedTx *types.Transaction) {
signTranArr.mux.Lock()
defer signTranArr.mux.Unlock()
signTranArr.TranArr = append(signTranArr.TranArr, signedTx)
}
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