Commit b0ed98f1 authored by duanjinfei's avatar duanjinfei

add from addr struct

parent 2d879010
...@@ -4,13 +4,12 @@ import ( ...@@ -4,13 +4,12 @@ import (
"ChainGrpcTest/log" "ChainGrpcTest/log"
"ChainGrpcTest/tool" "ChainGrpcTest/tool"
"ChainGrpcTest/transaction" "ChainGrpcTest/transaction"
"github.com/ethereum/go-ethereum/core/types"
"sync" "sync"
) )
var ( var (
SendTxAccountArr [][]string SendTxAccountArr [][]string
tranArrChan chan []*types.Transaction tranArrChan chan []*transaction.TxFromTran
) )
func init() { func init() {
...@@ -21,7 +20,7 @@ func init() { ...@@ -21,7 +20,7 @@ func init() {
return return
} }
cfg.StorageAccFileName += ".xlsx" cfg.StorageAccFileName += ".xlsx"
tranArrChan = make(chan []*types.Transaction, 10000) tranArrChan = make(chan []*transaction.TxFromTran, 10000)
} }
func startTest() { func startTest() {
......
...@@ -3,7 +3,6 @@ package transaction ...@@ -3,7 +3,6 @@ package transaction
import ( import (
"ChainGrpcTest/log" "ChainGrpcTest/log"
"ChainGrpcTest/tool" "ChainGrpcTest/tool"
"ChainGrpcTest/txcache"
"context" "context"
v1 "github.com/CaduceusMetaverseProtocol/MetaProtocol/gen/proto/go/base/v1" v1 "github.com/CaduceusMetaverseProtocol/MetaProtocol/gen/proto/go/base/v1"
ring "github.com/CaduceusMetaverseProtocol/MetaProtocol/gen/proto/go/ring/v1" ring "github.com/CaduceusMetaverseProtocol/MetaProtocol/gen/proto/go/ring/v1"
...@@ -25,7 +24,7 @@ func init() { ...@@ -25,7 +24,7 @@ func init() {
broadcastEthTxWithFromRequestsArr = make(chan *ring.BroadcastEthTxWithFromRequests, 1000000) broadcastEthTxWithFromRequestsArr = make(chan *ring.BroadcastEthTxWithFromRequests, 1000000)
} }
func BroadcastTxArr(tranArr []*types.Transaction, cfg *tool.Config) error { func BroadcastTxArr(tranArr []*TxFromTran, cfg *tool.Config) error {
client, err := grpc.Dial(cfg.RpcNode, grpc.WithTransportCredentials(insecure.NewCredentials())) client, err := grpc.Dial(cfg.RpcNode, grpc.WithTransportCredentials(insecure.NewCredentials()))
if err != nil { if err != nil {
return err return err
...@@ -39,14 +38,13 @@ func BroadcastTxArr(tranArr []*types.Transaction, cfg *tool.Config) error { ...@@ -39,14 +38,13 @@ func BroadcastTxArr(tranArr []*types.Transaction, cfg *tool.Config) error {
startTime := time.Now() startTime := time.Now()
ethTxArr := make([]*ring.BroadcastEthTxWithFromRequest, 0) ethTxArr := make([]*ring.BroadcastEthTxWithFromRequest, 0)
for i := 0; i < int(allSignedTxCount); i++ { for i := 0; i < int(allSignedTxCount); i++ {
inner := constructionEthLegacyTx(tranArr[i]) inner := constructionEthLegacyTx(tranArr[i].Tran)
ethTxAsAny, err := gogotypes.MarshalAny(&inner) ethTxAsAny, err := gogotypes.MarshalAny(&inner)
if err != nil { if err != nil {
log.Error("gogo types.MarshalAny error:", err) log.Error("gogo types.MarshalAny error:", err)
} }
fromAddr, _ := txcache.GetFromAddr(tranArr[i].Hash().Hex())
request := ring.BroadcastEthTxWithFromRequest{ request := ring.BroadcastEthTxWithFromRequest{
From: fromAddr, From: tranArr[i].From,
EthTx: &v1.EthTransaction{Tx: ethTxAsAny}, EthTx: &v1.EthTransaction{Tx: ethTxAsAny},
} }
ethTxArr = append(ethTxArr, &request) ethTxArr = append(ethTxArr, &request)
......
...@@ -41,11 +41,19 @@ type SignTranArr struct { ...@@ -41,11 +41,19 @@ type SignTranArr struct {
mux sync.RWMutex mux sync.RWMutex
} }
type SignFromTranArr struct {
TranArr []*TxFromTran
mux sync.RWMutex
}
var ( var (
tran = make(chan *Transactor, 0) tran = make(chan *Transactor, 0)
signTranArr = &SignTranArr{ signTranArr = &SignTranArr{
TranArr: make([]*types.Transaction, 0), TranArr: make([]*types.Transaction, 0),
} }
signFromTranArr = &SignFromTranArr{
TranArr: make([]*TxFromTran, 0),
}
batchSignCount, handleNonceCount int32 batchSignCount, handleNonceCount int32
) )
...@@ -214,7 +222,7 @@ func Add(signedTx *types.Transaction) { ...@@ -214,7 +222,7 @@ func Add(signedTx *types.Transaction) {
signTranArr.TranArr = append(signTranArr.TranArr, signedTx) signTranArr.TranArr = append(signTranArr.TranArr, signedTx)
} }
func NoSignTxArr(syncMap sync.Map, sendTxAccountArr [][]string, cfg *tool.Config) []*types.Transaction { func NoSignTxArr(syncMap sync.Map, sendTxAccountArr [][]string, cfg *tool.Config) []*TxFromTran {
for _, rows := range sendTxAccountArr { for _, rows := range sendTxAccountArr {
fromAddr := rows[0] fromAddr := rows[0]
privateKey := rows[1] privateKey := rows[1]
...@@ -236,10 +244,18 @@ func NoSignTxArr(syncMap sync.Map, sendTxAccountArr [][]string, cfg *tool.Config ...@@ -236,10 +244,18 @@ func NoSignTxArr(syncMap sync.Map, sendTxAccountArr [][]string, cfg *tool.Config
Data: nil, Data: nil,
} }
newtx := types.NewTx(&txData) newtx := types.NewTx(&txData)
txcache.Add(fromAddr+string(signCount), fromAddr) txFromTran := &TxFromTran{
signTranArr.TranArr = append(signTranArr.TranArr, newtx) Tran: newtx,
From: fromAddr,
}
signFromTranArr.TranArr = append(signFromTranArr.TranArr, txFromTran)
nonce = big.NewInt(1).Add(nonce, big.NewInt(1)) nonce = big.NewInt(1).Add(nonce, big.NewInt(1))
} }
} }
return signTranArr.TranArr return signFromTranArr.TranArr
}
type TxFromTran struct {
From string
Tran *types.Transaction
} }
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