explorer

package
v0.0.0-...-bf01c4b Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 8, 2021 License: MIT Imports: 32 Imported by: 0

Documentation

Index

Constants

View Source
const (
	AddressPrefix    = "ad"
	CheckpointPrefix = "dc"
	PrefixLen        = 3
)

Constants for storage.

View Source
const (
	Received = "RECEIVED"
	Sent     = "SENT"
)

Tx types ...

Variables

View Source
var (
	// InaccessibleAddresses are a list of known eth addresses that cannot spend net tokens.
	InaccessibleAddresses = []ethCommon.Address{

		ethCommon.HexToAddress("0x7bDeF7Bdef7BDeF7BDEf7bDef7bdef7bdeF6E7AD"),
	}
)

Functions

func GetAddressKey

func GetAddressKey(address string) string

GetAddressKey ...

func GetCheckpointKey

func GetCheckpointKey(blockNum *big.Int) string

GetCheckpointKey ...

func GetExplorerPort

func GetExplorerPort(nodePort string) string

GetExplorerPort returns the port serving explorer dashboard. This port is explorerPortDifference less than the node port.

Types

type Address

type Address struct {
	ID         string    `json:"id"`
	Balance    *big.Int  `json:"balance"`
	TXs        TxRecords `json:"txs"`
	StakingTXs TxRecords `json:"staking_txs"`
}

Address ...

type Data

type Data struct {
	Addresses []string `json:"Addresses"`
}

Data ...

type HTTPError

type HTTPError struct {
	Code int
	Msg  string
}

HTTPError is an HTTP error.

type InaccessibleAddressInfo

type InaccessibleAddressInfo struct {
	EthAddress ethCommon.Address `json:"eth-address"`
	Address    string            `json:"address"`
	Balance    numeric.Dec       `json:"balance"`
	Nonce      uint64            `json:"nonce"`
}

InaccessibleAddressInfo ..

type Service

type Service struct {
	IP      string
	Port    string
	Storage *Storage
	// contains filtered or unexported fields
}

Service is the struct for explorer service.

func New

func New(selfPeer *p2p.Peer, ss *syncing.StateSync, bc *core.BlockChain) *Service

New returns explorer service.

func (*Service) APIs

func (s *Service) APIs() []rpc.API

APIs for the services.

func (*Service) GetAddresses

func (s *Service) GetAddresses(w http.ResponseWriter, r *http.Request)

GetAddresses serves end-point /addresses, returns size of addresses from address with prefix.

func (*Service) GetCirculatingSupply

func (s *Service) GetCirculatingSupply(w http.ResponseWriter, r *http.Request)

GetCirculatingSupply serves /circulating-supply end-point. Note that known InaccessibleAddresses have their funds removed from the supply for this endpoint.

func (*Service) GetInaccessibleAddressInfo

func (s *Service) GetInaccessibleAddressInfo(w http.ResponseWriter, r *http.Request)

GetInaccessibleAddressInfo serves /burn-addresses end-point.

func (*Service) GetNodeSync

func (s *Service) GetNodeSync(w http.ResponseWriter, r *http.Request)

GetNodeSync returns status code 500 if node is not in sync

func (*Service) GetTotalSupply

func (s *Service) GetTotalSupply(w http.ResponseWriter, r *http.Request)

GetTotalSupply serves /total-supply end-point. Note that known InaccessibleAddresses have their funds removed from the supply for this endpoint.

func (*Service) Init

func (s *Service) Init()

Init is to initialize for ExplorerService.

func (*Service) NotifyService

func (s *Service) NotifyService(params map[string]interface{})

NotifyService notify service.

func (*Service) Run

func (s *Service) Run() *http.Server

Run is to run serving explorer.

func (*Service) SetMessageChan

func (s *Service) SetMessageChan(messageChan chan *msg_pb.Message)

SetMessageChan sets up message channel to service.

func (*Service) Start

func (s *Service) Start() error

Start starts explorer service.

func (*Service) Stop

func (s *Service) Stop() error

Stop shutdowns explorer service.

type StakingTransaction

type StakingTransaction struct {
	Transaction
}

StakingTransaction ...

func GetStakingTransaction

func GetStakingTransaction(tx *staking.StakingTransaction, addressBlock *types.Block) (*StakingTransaction, error)

GetStakingTransaction ...

type Storage

type Storage struct {
	// contains filtered or unexported fields
}

Storage dump the block info into leveldb.

func GetStorageInstance

func GetStorageInstance(ip, port string) *Storage

GetStorageInstance returns attack model by using singleton pattern.

func (*Storage) Dump

func (storage *Storage) Dump(block *types.Block, height uint64)

Dump extracts information from block and index them into lvdb for explorer.

func (*Storage) GetAddresses

func (storage *Storage) GetAddresses(size int, prefix string) ([]string, error)

GetAddresses returns size of addresses from address with prefix.

func (*Storage) GetDB

func (storage *Storage) GetDB() *leveldb.DB

GetDB returns the LDBDatabase of the storage.

func (*Storage) Init

func (storage *Storage) Init(ip, port string)

Init initializes the block update.

func (*Storage) UpdateTxAddressStorage

func (storage *Storage) UpdateTxAddressStorage(addr string, txRecords TxRecords, isStaking bool)

UpdateTxAddressStorage updates specific addr tx Address.

type Transaction

type Transaction struct {
	ID        string   `json:"id"`
	Timestamp string   `json:"timestamp"`
	From      string   `json:"from"`
	To        string   `json:"to"`
	Value     *big.Int `json:"value"`
	Bytes     string   `json:"bytes"`
	Data      string   `json:"data"`
	GasFee    *big.Int `json:"gasFee"`
	FromShard uint32   `json:"fromShard"`
	ToShard   uint32   `json:"toShard"`
	Type      string   `json:"type"`
}

Transaction ...

func GetTransaction

func GetTransaction(tx *types.Transaction, addressBlock *types.Block) (*Transaction, error)

GetTransaction ...

type TxRecord

type TxRecord struct {
	Hash      string
	Type      string
	Timestamp string
}

TxRecord ...

type TxRecords

type TxRecords []*TxRecord

TxRecords ...

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL