diff options
author | bojie <bojie@dexon.org> | 2019-01-18 19:30:23 +0800 |
---|---|---|
committer | Wei-Ning Huang <w@byzantine-lab.io> | 2019-06-12 17:27:21 +0800 |
commit | c2c6f9629f7ff386b9599cf3fce73de0a3c234a6 (patch) | |
tree | f6b38df6f819bcd60e1995652633d08e1357cfdf /cmd/monkey/feeder.go | |
parent | c31e41053665d4a4cd5eb3d7bc5ae7dbe889499e (diff) | |
download | go-tangerine-c2c6f9629f7ff386b9599cf3fce73de0a3c234a6.tar go-tangerine-c2c6f9629f7ff386b9599cf3fce73de0a3c234a6.tar.gz go-tangerine-c2c6f9629f7ff386b9599cf3fce73de0a3c234a6.tar.bz2 go-tangerine-c2c6f9629f7ff386b9599cf3fce73de0a3c234a6.tar.lz go-tangerine-c2c6f9629f7ff386b9599cf3fce73de0a3c234a6.tar.xz go-tangerine-c2c6f9629f7ff386b9599cf3fce73de0a3c234a6.tar.zst go-tangerine-c2c6f9629f7ff386b9599cf3fce73de0a3c234a6.zip |
travis: add new CI test to test fullnode (#138)
Diffstat (limited to 'cmd/monkey/feeder.go')
-rw-r--r-- | cmd/monkey/feeder.go | 112 |
1 files changed, 0 insertions, 112 deletions
diff --git a/cmd/monkey/feeder.go b/cmd/monkey/feeder.go deleted file mode 100644 index 7c1419b91..000000000 --- a/cmd/monkey/feeder.go +++ /dev/null @@ -1,112 +0,0 @@ -// Copyright 2018 The dexon-consensus Authors -// This file is part of the dexon-consensus library. -// -// The dexon-consensus library is free software: you can redistribute it -// and/or modify it under the terms of the GNU Lesser General Public License as -// published by the Free Software Foundation, either version 3 of the License, -// or (at your option) any later version. -// -// The dexon-consensus library is distributed in the hope that it will be -// useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser -// General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with the dexon-consensus library. If not, see -// <http://www.gnu.org/licenses/>. - -package main - -import ( - "context" - "fmt" - "math" - "math/big" - "math/rand" - "strings" - "time" - - "github.com/dexon-foundation/dexon/accounts/abi" - "github.com/dexon-foundation/dexon/common" - "github.com/dexon-foundation/dexon/crypto" -) - -var bananaABI abi.ABI - -func init() { - var err error - bananaABI, err = abi.JSON(strings.NewReader(bananaABIJSON)) - if err != nil { - panic(err) - } -} - -func (m *Monkey) DistributeBanana(contract common.Address) { - fmt.Println("Distributing Banana to random accounts ...") - address := crypto.PubkeyToAddress(m.source.PublicKey) - nonce, err := m.client.PendingNonceAt(context.Background(), address) - if err != nil { - panic(err) - } - - ctxs := make([]*transferContext, len(m.keys)) - amount := new(big.Int) - amount.SetString("10000000000000000", 10) - for i, key := range m.keys { - address := crypto.PubkeyToAddress(key.PublicKey) - input, err := bananaABI.Pack("transfer", address, amount) - if err != nil { - panic(err) - } - ctxs[i] = &transferContext{ - Key: m.source, - ToAddress: contract, - Data: input, - Nonce: nonce, - Gas: 100000, - } - nonce += 1 - } - m.batchTransfer(ctxs) - time.Sleep(20 * time.Second) -} - -func (m *Monkey) Feed() { - fmt.Println("Deploying contract ...") - contract := m.deploy(m.source, bananaContract, nil, new(big.Int), math.MaxUint64) - fmt.Println(" Contract deployed: ", contract.String()) - m.DistributeBanana(contract) - - time.Sleep(5 * time.Second) - - nonce := uint64(0) - for { - fmt.Println("nonce", nonce) - ctxs := make([]*transferContext, len(m.keys)) - for i, key := range m.keys { - to := crypto.PubkeyToAddress(m.keys[rand.Int()%len(m.keys)].PublicKey) - input, err := bananaABI.Pack("transfer", to, big.NewInt(rand.Int63n(100)+1)) - if err != nil { - panic(err) - } - - ctx := &transferContext{ - Key: key, - ToAddress: contract, - Data: input, - Nonce: nonce, - Gas: 42000, - } - if *batch { - ctxs[i] = ctx - } else { - m.transfer(ctx) - } - } - if *batch { - m.batchTransfer(ctxs) - } - nonce += 1 - time.Sleep(time.Duration(*sleep) * time.Millisecond) - } -} |