Commit b0ed98f1 authored by duanjinfei's avatar duanjinfei

add from addr struct

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