contract/kernel/kernel_test.go

(开头部分) 19KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

package kernel

import (
	"crypto/ecdsa"
	"crypto/elliptic"
	"crypto/rand"
	"encoding/json"
	"errors"
	"io/ioutil"
	"os"
	"testing"
	"time"

	log "github.com/xuperchain/log15"
	"github.com/xuperchain/xuperunion/contract"
	"github.com/xuperchain/xuperunion/crypto/client"
	crypto_client "github.com/xuperchain/xuperunion/crypto/client"
	"github.com/xuperchain/xuperunion/global"
	"github.com/xuperchain/xuperunion/ledger"
	"github.com/xuperchain/xuperunion/pb"
	"github.com/xuperchain/xuperunion/utxo"
)

const BobAddress = "dpzuVdosQrF2kmzumhVeFQZa1aYcdgFpN"
const BobPubkey = `{"Curvname":"P-256","X":74695617477160058757747208220371236837474210247114418775262229497812962582435,"Y":51348715319124770392993866417088542497927816017012182211244120852620959209571}`
const BobPrivateKey = `{"Curvname":"P-256","X":74695617477160058757747208220371236837474210247114418775262229497812962582435,"Y":51348715319124770392993866417088542497927816017012182211244120852620959209571,"D":29079635126530934056640915735344231956621504557963207107451663058887647996601}`
const AliceAddress = "WNWk3ekXeM5M2232dY2uCJmEqWhfQiDYT"
const defaultKVEngine = "default"

func bobToAlice(t *testing.T, utxovm *utxo.UtxoVM, ledger *ledger.Ledger, amount string, prehash []byte, desc string) ([]byte, error) {
	t.Logf("pre_hash of this block: %x", prehash)
	txreq := &pb.TxData{}
	txreq.Bcname = "xuper-chain"
	txreq.FromAddr = BobAddress
	txreq.FromPubkey = BobPubkey
	txreq.FromScrkey = BobPrivateKey
	txreq.Nonce = "nonce"
	txreq.Timestamp = time.Now().UnixNano()
	txreq.Desc = []byte(desc)
	//bob给alice转20
	txreq.Account = []*pb.TxDataAccount{
		{Address: AliceAddress, Amount: amount},
	}
	timer := global.NewXTimer()
	tx, err := utxovm.GenerateTx(txreq)
	if err != nil {
		t.Fatal(err)
		return nil, err
	}
	timer.Mark("GenerateTx")
	err = utxovm.DoTx(tx)
	timer.Mark("DoTx")
	if err != nil {
		t.Fatal(err)
		return nil, err
	}
	txlist, err := utxovm.GetUnconfirmedTx(true)
	timer.Mark("GetUnconfirmedTx")
	if err != nil {
		return nil, err
后面还有 544 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。