fixed existing endpoints

This commit is contained in:
Dustin Brickwood 2018-05-11 17:07:00 -04:00
parent 1e2df20db6
commit 00b02b0524
3 changed files with 55 additions and 30 deletions

View file

@ -100,13 +100,15 @@ func GetAllAccounts(w http.ResponseWriter, r *http.Request) {
//GetBlock returns block json
func GetBlock(w http.ResponseWriter, r *http.Request) {
vars := mux.Vars(r)
blockNumber := vars["blockNumber"]
connStr := "user=postgres dbname=shyftdb sslmode=disable"
blockExplorerDb, err := sql.Open("postgres", connStr)
if err != nil {
return
}
getBlockResponse := shyftdb.GetBlock(blockExplorerDb)
getBlockResponse := shyftdb.GetBlock(blockExplorerDb, blockNumber)
if err != nil {
http.Error(w, err.Error(), 500)

View file

@ -36,7 +36,7 @@ var routes = Routes{
Route{
"GetBlock",
"GET",
"/api/get_block",
"/api/get_block/{blockNumber}",
GetBlock,
},
Route{

View file

@ -70,9 +70,11 @@ type ShyftTxEntryPretty struct {
To string
From string
BlockHash string
BlockNumber string
Amount uint64
GasPrice uint64
Gas uint64
Cost uint64
Nonce uint64
Data []byte
}
@ -355,14 +357,14 @@ func GetAllBlocks(sqldb *sql.DB) string {
var blockArr string
rows, err := sqldb.Query(`
SELECT
number,
hash,
coinbase,
gasused,
gaslimit,
txcount,
unclecount,
age
age,
number
FROM blocks`)
if err != nil {
fmt.Println("err")
@ -370,7 +372,6 @@ func GetAllBlocks(sqldb *sql.DB) string {
defer rows.Close()
for rows.Next() {
var num string
var hash string
var coinbase string
var gasUsed string
@ -378,9 +379,9 @@ func GetAllBlocks(sqldb *sql.DB) string {
var txCount string
var uncleCount string
var age string
var num string
err = rows.Scan(
&num,
&hash,
&coinbase,
&gasUsed,
@ -388,17 +389,18 @@ func GetAllBlocks(sqldb *sql.DB) string {
&txCount,
&uncleCount,
&age,
&num,
)
arr.Blocks = append(arr.Blocks, SBlock{
Hash: hash,
Number: num,
Coinbase: coinbase,
GasUsed: gasUsed,
GasLimit: gasLimit,
TxCount: txCount,
UncleCount: uncleCount,
Age: age,
Number: num,
})
blocks, _ := json.Marshal(arr.Blocks)
@ -410,10 +412,9 @@ func GetAllBlocks(sqldb *sql.DB) string {
//GetBlock queries to send single block info
//TODO provide blockHash arg passed from handler.go
func GetBlock(sqldb *sql.DB) string {
func GetBlock(sqldb *sql.DB, blockNumber string) string {
sqlStatement := `SELECT * FROM blocks WHERE number=$1;`
row := sqldb.QueryRow(sqlStatement, 3)
var num string
row := sqldb.QueryRow(sqlStatement, blockNumber)
var hash string
var coinbase string
var gasUsed string
@ -421,26 +422,26 @@ func GetBlock(sqldb *sql.DB) string {
var txCount string
var uncleCount string
var age string
var num string
row.Scan(
&num,
&hash,
&coinbase,
&gasUsed,
&gasLimit,
&txCount,
&uncleCount,
&age,)
&age,
&num,)
block := SBlock{
Hash: hash,
Number: num,
Coinbase: coinbase,
GasUsed: gasUsed,
GasLimit: gasLimit,
TxCount: txCount,
UncleCount: uncleCount,
Age: age,
Number: num,
}
json, _ := json.Marshal(block)
return string(json)
@ -456,9 +457,11 @@ func GetAllTransactions(sqldb *sql.DB) string {
to_addr,
from_addr,
blockhash,
blocknumber,
amount,
gasprice,
gas,
txfee,
nonce
FROM txs`)
if err != nil {
@ -470,18 +473,22 @@ func GetAllTransactions(sqldb *sql.DB) string {
var to_addr string
var from_addr string
var blockhash string
var blocknumber string
var amount uint64
var gasprice uint64
var gas uint64
var txfee uint64
var nonce uint64
err = rows.Scan(
&txhash,
&to_addr,
&from_addr,
&blockhash,
&blocknumber,
&amount,
&gasprice,
&gas,
&txfee,
&nonce,
)
@ -490,9 +497,11 @@ func GetAllTransactions(sqldb *sql.DB) string {
To: to_addr,
From: from_addr,
BlockHash: blockhash,
BlockNumber: blocknumber,
Amount: amount,
GasPrice: gasprice,
Gas: gas,
Cost: txfee,
Nonce: nonce,
})
@ -510,9 +519,11 @@ func GetTransaction(sqldb *sql.DB) string {
to_addr,
from_addr,
blockhash,
blocknumber,
amount,
gasprice,
gas,
txfee,
nonce
FROM txs WHERE nonce=$1;`
row := sqldb.QueryRow(sqlStatement, 1)
@ -520,20 +531,32 @@ func GetTransaction(sqldb *sql.DB) string {
var to_addr string
var from_addr string
var blockhash string
var blocknumber string
var amount uint64
var gasprice uint64
var gas uint64
var txfee uint64
var nonce uint64
row.Scan(&txhash, &to_addr, &from_addr, &blockhash, &amount, &gasprice, &gas, &nonce)
row.Scan(&txhash,
&to_addr,
&from_addr,
&blockhash,
&amount,
&gasprice,
&gas,
&txfee,
&nonce)
tx := ShyftTxEntryPretty{
TxHash: txhash,
To: to_addr,
From: from_addr,
BlockHash: blockhash,
BlockNumber: blocknumber,
Amount: amount,
GasPrice: gasprice,
Gas: gas,
Cost: txfee,
Nonce: nonce,
}
json, _ := json.Marshal(tx)