aboutsummaryrefslogtreecommitdiffstats
path: root/cmd/monkey/feeder.go
diff options
context:
space:
mode:
authorbojie <bojie@dexon.org>2019-01-18 19:30:23 +0800
committerWei-Ning Huang <w@byzantine-lab.io>2019-06-12 17:27:21 +0800
commitc2c6f9629f7ff386b9599cf3fce73de0a3c234a6 (patch)
treef6b38df6f819bcd60e1995652633d08e1357cfdf /cmd/monkey/feeder.go
parentc31e41053665d4a4cd5eb3d7bc5ae7dbe889499e (diff)
downloadgo-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.go112
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)
- }
-}