mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-08-18 09:53:48 +00:00
getBlock and getAllBlocks successfully returning values to API
This commit is contained in:
parent
d989e42827
commit
668287603e
2 changed files with 40 additions and 31 deletions
|
|
@ -3,7 +3,6 @@ package main
|
||||||
///@NOTE Shyft handler functions when endpoints are hit
|
///@NOTE Shyft handler functions when endpoints are hit
|
||||||
import (
|
import (
|
||||||
"database/sql"
|
"database/sql"
|
||||||
"encoding/json"
|
|
||||||
"fmt"
|
"fmt"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
|
|
@ -65,23 +64,17 @@ func GetBlock(w http.ResponseWriter, r *http.Request) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
block3 := shyftdb.GetBlock(blockExplorerDb)
|
getBlockResponse := shyftdb.GetBlock(blockExplorerDb)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
http.Error(w, err.Error(), 500)
|
http.Error(w, err.Error(), 500)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
out, err := json.Marshal(block3)
|
|
||||||
if err != nil {
|
|
||||||
http.Error(w, err.Error(), 500)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
w.Header().Set("Content-Type", "application/json; charset=UTF-8")
|
w.Header().Set("Content-Type", "application/json; charset=UTF-8")
|
||||||
w.WriteHeader(http.StatusOK)
|
w.WriteHeader(http.StatusOK)
|
||||||
|
|
||||||
fmt.Fprintln(w, "block", string(out))
|
fmt.Fprintln(w, "block", getBlockResponse)
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetAllBlocks response
|
// GetAllBlocks response
|
||||||
|
|
@ -100,12 +93,6 @@ func GetAllBlocks(w http.ResponseWriter, r *http.Request) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// out, err := json.Marshal(block3)
|
|
||||||
// if err != nil {
|
|
||||||
// http.Error(w, err.Error(), 500)
|
|
||||||
// return
|
|
||||||
// }
|
|
||||||
|
|
||||||
w.Header().Set("Content-Type", "application/json; charset=UTF-8")
|
w.Header().Set("Content-Type", "application/json; charset=UTF-8")
|
||||||
w.WriteHeader(http.StatusOK)
|
w.WriteHeader(http.StatusOK)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -21,14 +21,14 @@ import (
|
||||||
type SBlock struct {
|
type SBlock struct {
|
||||||
hash string
|
hash string
|
||||||
coinbase string
|
coinbase string
|
||||||
number int
|
number string
|
||||||
}
|
}
|
||||||
|
|
||||||
//blockRes struct
|
//blockRes struct
|
||||||
type blockRes struct {
|
type blockRes struct {
|
||||||
hash string
|
hash string
|
||||||
coinbase string
|
coinbase string
|
||||||
number int
|
number string
|
||||||
Blocks []SBlock
|
Blocks []SBlock
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -287,7 +287,7 @@ func GetAllBlocks(sqldb *sql.DB) []SBlock {
|
||||||
defer rows.Close()
|
defer rows.Close()
|
||||||
|
|
||||||
for rows.Next() {
|
for rows.Next() {
|
||||||
var num int
|
var num string
|
||||||
var hash string
|
var hash string
|
||||||
var coinbase string
|
var coinbase string
|
||||||
err = rows.Scan(
|
err = rows.Scan(
|
||||||
|
|
@ -301,35 +301,57 @@ func GetAllBlocks(sqldb *sql.DB) []SBlock {
|
||||||
coinbase: coinbase,
|
coinbase: coinbase,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
fmt.Println("++++++++++++++++", arr.Blocks)
|
|
||||||
|
|
||||||
return arr.Blocks
|
return arr.Blocks
|
||||||
}
|
}
|
||||||
|
|
||||||
//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) []SBlock {
|
func GetBlock(sqldb *sql.DB) []SBlock {
|
||||||
var block []SBlock
|
var arr blockRes
|
||||||
var number string
|
|
||||||
var hash string
|
|
||||||
var coinbase string
|
|
||||||
|
|
||||||
sqlStatement := `SELECT * FROM blocks WHERE number=$1;`
|
sqlStatement := `SELECT * FROM blocks WHERE number=$1;`
|
||||||
row := sqldb.QueryRow(sqlStatement, 3)
|
row := sqldb.QueryRow(sqlStatement, 3)
|
||||||
err := row.Scan(&number, &hash, &coinbase)
|
var num string
|
||||||
|
var hash string
|
||||||
|
var coinbase string
|
||||||
|
err := row.Scan(&num, &hash, &coinbase)
|
||||||
|
|
||||||
switch err {
|
switch err {
|
||||||
case sql.ErrNoRows:
|
case sql.ErrNoRows:
|
||||||
fmt.Println("No rows were returned")
|
fmt.Println("No rows were returned!")
|
||||||
return block
|
|
||||||
case nil:
|
case nil:
|
||||||
fmt.Println("nil")
|
fmt.Println(row)
|
||||||
default:
|
default:
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
fmt.Println("this is a query", row)
|
arr.Blocks = append(arr.Blocks, SBlock{
|
||||||
return block
|
hash: hash,
|
||||||
|
number: num,
|
||||||
|
coinbase: coinbase,
|
||||||
|
})
|
||||||
|
return arr.Blocks
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// []SBlock {
|
||||||
|
// var block []SBlock
|
||||||
|
// var number string
|
||||||
|
// var hash string
|
||||||
|
// var coinbase string
|
||||||
|
|
||||||
|
// sqlStatement := `SELECT * FROM blocks WHERE number=$1;`
|
||||||
|
// row := sqldb.QueryRow(sqlStatement, 3)
|
||||||
|
// err := row.Scan(&number, &hash, &coinbase)
|
||||||
|
// switch err {
|
||||||
|
// case sql.ErrNoRows:
|
||||||
|
// fmt.Println("No rows were returned")
|
||||||
|
// return block
|
||||||
|
// case nil:
|
||||||
|
// fmt.Println("nil")
|
||||||
|
// default:
|
||||||
|
// panic(err)
|
||||||
|
// }
|
||||||
|
// fmt.Println("this is a query", row)
|
||||||
|
// return block
|
||||||
|
|
||||||
func GetAllTransactions(db *leveldb.DB) []ShyftTxEntryPretty {
|
func GetAllTransactions(db *leveldb.DB) []ShyftTxEntryPretty {
|
||||||
var txs []ShyftTxEntryPretty
|
var txs []ShyftTxEntryPretty
|
||||||
iter := db.NewIterator(util.BytesPrefix([]byte("tx-")), nil)
|
iter := db.NewIterator(util.BytesPrefix([]byte("tx-")), nil)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue