OSDN Git Service

Main network and test network distinguish address prefix
authorwz <mars@bytom.io>
Tue, 17 Apr 2018 05:18:22 +0000 (13:18 +0800)
committerwz <mars@bytom.io>
Tue, 17 Apr 2018 05:20:44 +0000 (13:20 +0800)
account/accounts.go
account/builder.go
api/accounts.go
blockchain/txbuilder/actions.go
consensus/general.go
node/node.go
wallet/annotated.go

index ef1982c..eda6d92 100644 (file)
@@ -104,7 +104,7 @@ type Manager struct {
        delayedACPsMu sync.Mutex
        delayedACPs   map[*txbuilder.TemplateBuilder][]*CtrlProgram
 
-       accIndexMu  sync.Mutex
+       accIndexMu sync.Mutex
 }
 
 // ExpireReservations removes reservations that have expired periodically.
@@ -276,7 +276,7 @@ func (m *Manager) createP2PKH(ctx context.Context, account *Account, change bool
        pubHash := crypto.Ripemd160(derivedPK)
 
        // TODO: pass different params due to config
-       address, err := common.NewAddressWitnessPubKeyHash(pubHash, &consensus.MainNetParams)
+       address, err := common.NewAddressWitnessPubKeyHash(pubHash, consensus.ActiveNetParams)
        if err != nil {
                return nil, err
        }
@@ -307,7 +307,7 @@ func (m *Manager) createP2SH(ctx context.Context, account *Account, change bool)
        scriptHash := crypto.Sha256(signScript)
 
        // TODO: pass different params due to config
-       address, err := common.NewAddressWitnessScriptHash(scriptHash, &consensus.MainNetParams)
+       address, err := common.NewAddressWitnessScriptHash(scriptHash, consensus.ActiveNetParams)
        if err != nil {
                return nil, err
        }
index 945c085..19c45d5 100644 (file)
@@ -152,7 +152,7 @@ func UtxoToInputs(signer *signers.Signer, u *UTXO) (*types.TxInput, *txbuilder.S
                return txInput, sigInst, nil
        }
 
-       address, err := common.DecodeAddress(u.Address, &consensus.MainNetParams)
+       address, err := common.DecodeAddress(u.Address, consensus.ActiveNetParams)
        if err != nil {
                return nil, nil, err
        }
index c5b6371..0b721d5 100644 (file)
@@ -2,6 +2,7 @@ package api
 
 import (
        "context"
+
        log "github.com/sirupsen/logrus"
 
        "github.com/bytom/account"
@@ -13,9 +14,9 @@ import (
 
 // POST /create-account
 func (a *API) createAccount(ctx context.Context, ins struct {
-       RootXPubs []chainkd.XPub         `json:"root_xpubs"`
-       Quorum    int                    `json:"quorum"`
-       Alias     string                 `json:"alias"`
+       RootXPubs []chainkd.XPub `json:"root_xpubs"`
+       Quorum    int            `json:"quorum"`
+       Alias     string         `json:"alias"`
 }) Response {
        acc, err := a.wallet.AccountMgr.Create(ctx, ins.RootXPubs, ins.Quorum, ins.Alias)
        if err != nil {
@@ -51,7 +52,7 @@ func (a *API) validateAddress(ctx context.Context, ins struct {
                Vaild:   false,
                IsLocal: false,
        }
-       address, err := common.DecodeAddress(ins.Address, &consensus.MainNetParams)
+       address, err := common.DecodeAddress(ins.Address, consensus.ActiveNetParams)
        if err != nil {
                return NewSuccessResponse(resp)
        }
index 84dac5c..01bbd89 100644 (file)
@@ -72,7 +72,7 @@ func (a *controlAddressAction) Build(ctx context.Context, b *TemplateBuilder) er
                return MissingFieldsError(missing...)
        }
 
-       address, err := common.DecodeAddress(a.Address, &consensus.MainNetParams)
+       address, err := common.DecodeAddress(a.Address, consensus.ActiveNetParams)
        if err != nil {
                return err
        }
index 137d3aa..53406d7 100644 (file)
@@ -90,6 +90,8 @@ type Params struct {
        Bech32HRPSegwit string
 }
 
+var ActiveNetParams = &MainNetParams
+
 // MainNetParams is the config for production
 var MainNetParams = Params{
        Name:            "main",
index 12dd442..46909cf 100644 (file)
@@ -18,6 +18,7 @@ import (
        "github.com/bytom/blockchain/pseudohsm"
        "github.com/bytom/blockchain/txfeed"
        cfg "github.com/bytom/config"
+       "github.com/bytom/consensus"
        "github.com/bytom/crypto/ed25519/chainkd"
        "github.com/bytom/database/leveldb"
        "github.com/bytom/env"
@@ -58,7 +59,9 @@ type Node struct {
 
 func NewNode(config *cfg.Config) *Node {
        ctx := context.Background()
-
+       if config.ChainID == "testnet" {
+               consensus.ActiveNetParams = &consensus.TestNetParams
+       }
        // Get store
        txDB := dbm.NewDB("txdb", config.DBBackend, config.DBDir())
        store := leveldb.NewStore(txDB)
index c733265..571f852 100644 (file)
@@ -241,7 +241,7 @@ func (w *Wallet) getAddressFromControlProgram(prog []byte) string {
 }
 
 func buildP2PKHAddress(pubHash []byte) string {
-       address, err := common.NewAddressWitnessPubKeyHash(pubHash, &consensus.MainNetParams)
+       address, err := common.NewAddressWitnessPubKeyHash(pubHash, consensus.ActiveNetParams)
        if err != nil {
                return ""
        }
@@ -250,7 +250,7 @@ func buildP2PKHAddress(pubHash []byte) string {
 }
 
 func buildP2SHAddress(scriptHash []byte) string {
-       address, err := common.NewAddressWitnessScriptHash(scriptHash, &consensus.MainNetParams)
+       address, err := common.NewAddressWitnessScriptHash(scriptHash, consensus.ActiveNetParams)
        if err != nil {
                return ""
        }