mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-08-19 02:12:23 +00:00
compiles
This commit is contained in:
parent
6b4eb6abef
commit
802c1b061e
7 changed files with 85 additions and 25 deletions
|
|
@ -33,7 +33,6 @@ import (
|
||||||
"github.com/ethereum/go-ethereum/common/mclock"
|
"github.com/ethereum/go-ethereum/common/mclock"
|
||||||
"github.com/ethereum/go-ethereum/consensus"
|
"github.com/ethereum/go-ethereum/consensus"
|
||||||
"github.com/ethereum/go-ethereum/core/state"
|
"github.com/ethereum/go-ethereum/core/state"
|
||||||
"github.com/ethereum/go-ethereum/shyftdb"
|
|
||||||
"github.com/ethereum/go-ethereum/core/types"
|
"github.com/ethereum/go-ethereum/core/types"
|
||||||
"github.com/ethereum/go-ethereum/core/vm"
|
"github.com/ethereum/go-ethereum/core/vm"
|
||||||
"github.com/ethereum/go-ethereum/crypto"
|
"github.com/ethereum/go-ethereum/crypto"
|
||||||
|
|
@ -903,7 +902,7 @@ func (bc *BlockChain) WriteBlockWithState(block *types.Block, receipts []*types.
|
||||||
}
|
}
|
||||||
// NOTE:SHYFT - Write block data for block explorer
|
// NOTE:SHYFT - Write block data for block explorer
|
||||||
fmt.Printf("\n\t[BLOCKCHAIN.GO bc.chainConfig] %+v", bc.chainConfig)
|
fmt.Printf("\n\t[BLOCKCHAIN.GO bc.chainConfig] %+v", bc.chainConfig)
|
||||||
if err := shyftdb.WriteBlock(block, receipts); err != nil {
|
if err := SWriteBlock(block, receipts); err != nil {
|
||||||
return NonStatTy, err
|
return NonStatTy, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package shyftdb
|
package core
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
@ -35,7 +35,6 @@ import (
|
||||||
"github.com/ethereum/go-ethereum/log"
|
"github.com/ethereum/go-ethereum/log"
|
||||||
"github.com/ethereum/go-ethereum/params"
|
"github.com/ethereum/go-ethereum/params"
|
||||||
"github.com/ethereum/go-ethereum/rlp"
|
"github.com/ethereum/go-ethereum/rlp"
|
||||||
"github.com/ethereum/go-ethereum/shyftdb"
|
|
||||||
"database/sql"
|
"database/sql"
|
||||||
"strconv"
|
"strconv"
|
||||||
"time"
|
"time"
|
||||||
|
|
@ -145,7 +144,7 @@ func (e *GenesisMismatchError) Error() string {
|
||||||
//@NOTE:SHYFT
|
//@NOTE:SHYFT
|
||||||
func WriteShyftGen(gen *Genesis, block *types.Block) {
|
func WriteShyftGen(gen *Genesis, block *types.Block) {
|
||||||
|
|
||||||
sqldb, _ := shyftdb.DBConnection()
|
sqldb, _ := DBConnection()
|
||||||
|
|
||||||
for k := range gen.Alloc {
|
for k := range gen.Alloc {
|
||||||
addr := k.String()
|
addr := k.String()
|
||||||
|
|
@ -195,7 +194,7 @@ func WriteShyftGen(gen *Genesis, block *types.Block) {
|
||||||
|
|
||||||
func WriteShyftBlockZero(block *types.Block, gen *Genesis) error {
|
func WriteShyftBlockZero(block *types.Block, gen *Genesis) error {
|
||||||
|
|
||||||
sqldb, _ := shyftdb.DBConnection()
|
sqldb, _ := DBConnection()
|
||||||
|
|
||||||
coinbase := block.Header().Coinbase.String()
|
coinbase := block.Header().Coinbase.String()
|
||||||
number := block.Header().Number.String()
|
number := block.Header().Number.String()
|
||||||
|
|
|
||||||
|
|
@ -1,18 +1,18 @@
|
||||||
package shyftdb
|
package core
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
"math/big"
|
"math/big"
|
||||||
"github.com/ethereum/go-ethereum/common"
|
"github.com/ethereum/go-ethereum/common"
|
||||||
"github.com/ethereum/go-ethereum/core/types"
|
"github.com/ethereum/go-ethereum/core/types"
|
||||||
"time"
|
"time"
|
||||||
"strconv"
|
"strconv"
|
||||||
"database/sql"
|
"database/sql"
|
||||||
"log"
|
"log"
|
||||||
|
|
||||||
_ "github.com/lib/pq"
|
_ "github.com/lib/pq"
|
||||||
Rewards "github.com/ethereum/go-ethereum/consensus/ethash"
|
Rewards "github.com/ethereum/go-ethereum/consensus/ethash"
|
||||||
)
|
)
|
||||||
|
|
||||||
//SBlock type
|
//SBlock type
|
||||||
|
|
@ -104,7 +104,7 @@ type SendAndReceive struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
//WriteBlock writes to block info to sql db
|
//WriteBlock writes to block info to sql db
|
||||||
func WriteBlock(block *types.Block, receipts []*types.Receipt) error {
|
func SWriteBlock(block *types.Block, receipts []*types.Receipt) error {
|
||||||
|
|
||||||
sqldb, err := DBConnection()
|
sqldb, err := DBConnection()
|
||||||
if (err != nil) {
|
if (err != nil) {
|
||||||
|
|
@ -138,7 +138,7 @@ func WriteBlock(block *types.Block, receipts []*types.Receipt) error {
|
||||||
|
|
||||||
if block.Transactions().Len() > 0 {
|
if block.Transactions().Len() > 0 {
|
||||||
for _, tx := range block.Transactions() {
|
for _, tx := range block.Transactions() {
|
||||||
writeTransactions(sqldb, tx, block.Header().Hash(), block.Header().Number.String(), receipts, age, gasLimit)
|
SwriteTransactions(sqldb, tx, block.Header().Hash(), block.Header().Number.String(), receipts, age, gasLimit)
|
||||||
if block.Transactions()[0].To() != nil {
|
if block.Transactions()[0].To() != nil {
|
||||||
writeFromBalance(sqldb, tx)
|
writeFromBalance(sqldb, tx)
|
||||||
}
|
}
|
||||||
|
|
@ -151,7 +151,7 @@ func WriteBlock(block *types.Block, receipts []*types.Receipt) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
//writeTransactions writes to sqldb
|
//writeTransactions writes to sqldb
|
||||||
func writeTransactions(sqldb *sql.DB, tx *types.Transaction, blockHash common.Hash, blockNumber string, receipts []*types.Receipt, age time.Time, gasLimit uint64) error {
|
func SwriteTransactions(sqldb *sql.DB, tx *types.Transaction, blockHash common.Hash, blockNumber string, receipts []*types.Receipt, age time.Time, gasLimit uint64) error {
|
||||||
txData := ShyftTxEntry{
|
txData := ShyftTxEntry{
|
||||||
TxHash: tx.Hash(),
|
TxHash: tx.Hash(),
|
||||||
From: tx.From(),
|
From: tx.From(),
|
||||||
|
|
@ -165,6 +165,7 @@ func writeTransactions(sqldb *sql.DB, tx *types.Transaction, blockHash common.Ha
|
||||||
Data: tx.Data(),
|
Data: tx.Data(),
|
||||||
}
|
}
|
||||||
txHash := txData.TxHash.Hex()
|
txHash := txData.TxHash.Hex()
|
||||||
|
MyTraceTransaction(txHash) //.chaindb_global
|
||||||
from := txData.From.Hex()
|
from := txData.From.Hex()
|
||||||
blockHasher := txData.BlockHash
|
blockHasher := txData.BlockHash
|
||||||
amount := txData.Amount.String()
|
amount := txData.Amount.String()
|
||||||
|
|
@ -545,7 +546,7 @@ func GetAllBlocks(sqldb *sql.DB) string {
|
||||||
|
|
||||||
//GetBlock queries to send single block info
|
//GetBlock queries to send single block info
|
||||||
//TODO provide blockHash arg passed from handler.go
|
//TODO provide blockHash arg passed from handler.go
|
||||||
func GetBlock(sqldb *sql.DB, blockNumber string) string {
|
func SGetBlock(sqldb *sql.DB, blockNumber string) string {
|
||||||
sqlStatement := `SELECT * FROM blocks WHERE number=$1;`
|
sqlStatement := `SELECT * FROM blocks WHERE number=$1;`
|
||||||
row := sqldb.QueryRow(sqlStatement, blockNumber)
|
row := sqldb.QueryRow(sqlStatement, blockNumber)
|
||||||
var hash string
|
var hash string
|
||||||
|
|
@ -855,7 +856,7 @@ func GetAllTransactions(sqldb *sql.DB) string {
|
||||||
}
|
}
|
||||||
|
|
||||||
//GetTransaction fn returns single tx
|
//GetTransaction fn returns single tx
|
||||||
func GetTransaction(sqldb *sql.DB, txHash string) string {
|
func SGetTransaction(sqldb *sql.DB, txHash string) string {
|
||||||
sqlStatement := `SELECT * FROM txs WHERE txhash=$1;`
|
sqlStatement := `SELECT * FROM txs WHERE txhash=$1;`
|
||||||
row := sqldb.QueryRow(sqlStatement, txHash)
|
row := sqldb.QueryRow(sqlStatement, txHash)
|
||||||
var txhash string
|
var txhash string
|
||||||
35
core/shyft_tracer.go
Normal file
35
core/shyft_tracer.go
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
package core
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/ethereum/go-ethereum/ethdb"
|
||||||
|
"github.com/ethereum/go-ethereum/common"
|
||||||
|
"fmt"
|
||||||
|
)
|
||||||
|
|
||||||
|
var Chaindb_global ethdb.Database
|
||||||
|
|
||||||
|
func SetChainDB(db ethdb.Database){
|
||||||
|
Chaindb_global = db
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
func MyTraceTransaction(hash string) (interface{}) {
|
||||||
|
common_hash := common.StringToHash(hash)
|
||||||
|
fmt.Println("the hash is")
|
||||||
|
fmt.Println(common_hash)
|
||||||
|
|
||||||
|
fmt.Println("the chain db is")
|
||||||
|
fmt.Println(Chaindb_global)
|
||||||
|
if Chaindb_global == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
tx, blockHash, _, index := GetTransaction(Chaindb_global, common_hash)
|
||||||
|
|
||||||
|
fmt.Println("the tx is ")
|
||||||
|
fmt.Println(tx)
|
||||||
|
fmt.Println(blockHash)
|
||||||
|
fmt.Println(index)
|
||||||
|
return 42
|
||||||
|
}
|
||||||
|
|
@ -107,7 +107,7 @@ func New(ctx *node.ServiceContext, config *Config) (*Ethereum, error) {
|
||||||
if !config.SyncMode.IsValid() {
|
if !config.SyncMode.IsValid() {
|
||||||
return nil, fmt.Errorf("invalid sync mode %d", config.SyncMode)
|
return nil, fmt.Errorf("invalid sync mode %d", config.SyncMode)
|
||||||
}
|
}
|
||||||
chainDb, err := CreateDB(ctx, config, "chaindata")
|
chainDb, err := chaindb(ctx, config)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
@ -202,6 +202,7 @@ func makeExtraData(extra []byte) []byte {
|
||||||
|
|
||||||
// CreateDB creates the chain database.
|
// CreateDB creates the chain database.
|
||||||
func CreateDB(ctx *node.ServiceContext, config *Config, name string) (ethdb.Database, error) {
|
func CreateDB(ctx *node.ServiceContext, config *Config, name string) (ethdb.Database, error) {
|
||||||
|
fmt.Println("in create db")
|
||||||
db, err := ctx.OpenDatabase(name, config.DatabaseCache, config.DatabaseHandles)
|
db, err := ctx.OpenDatabase(name, config.DatabaseCache, config.DatabaseHandles)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
|
|
||||||
25
eth/chaindb.go
Normal file
25
eth/chaindb.go
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
package eth
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/ethereum/go-ethereum/ethdb"
|
||||||
|
"github.com/ethereum/go-ethereum/node"
|
||||||
|
"fmt"
|
||||||
|
"github.com/ethereum/go-ethereum/core"
|
||||||
|
)
|
||||||
|
|
||||||
|
func chaindb(ctx *node.ServiceContext, config *Config) (ethdb.Database, error) {
|
||||||
|
fmt.Println("DO WE GET HERE ++++++++++++++++++++++++++++++++")
|
||||||
|
fmt.Printf("%+v", ctx)
|
||||||
|
if core.Chaindb_global != nil {
|
||||||
|
return core.Chaindb_global, nil
|
||||||
|
}
|
||||||
|
fmt.Println("FAR OUT ++++++++++++++++++++++++++++++++")
|
||||||
|
|
||||||
|
chainDb, err := CreateDB(ctx, config, "chaindata")
|
||||||
|
fmt.Println("CHECK CHECK ++++++++++++++++")
|
||||||
|
if err == nil {
|
||||||
|
core.SetChainDB(chainDb)
|
||||||
|
return core.Chaindb_global, nil
|
||||||
|
}
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
Loading…
Reference in a new issue