diff --git a/blockExplorerApi/handler.go b/blockExplorerApi/handler.go index 59d34429ce..fc4cca8b14 100644 --- a/blockExplorerApi/handler.go +++ b/blockExplorerApi/handler.go @@ -3,7 +3,6 @@ package main ///@NOTE Shyft handler functions when endpoints are hit import ( "database/sql" - "encoding/json" "fmt" "net/http" @@ -65,23 +64,17 @@ func GetBlock(w http.ResponseWriter, r *http.Request) { return } - block3 := shyftdb.GetBlock(blockExplorerDb) + getBlockResponse := shyftdb.GetBlock(blockExplorerDb) if err != nil { http.Error(w, err.Error(), 500) 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.WriteHeader(http.StatusOK) - fmt.Fprintln(w, "block", string(out)) + fmt.Fprintln(w, "block", getBlockResponse) } // GetAllBlocks response @@ -100,12 +93,6 @@ func GetAllBlocks(w http.ResponseWriter, r *http.Request) { 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.WriteHeader(http.StatusOK) diff --git a/shyftdb/shyft_database_util.go b/shyftdb/shyft_database_util.go index be2a95a4a0..1111e01972 100644 --- a/shyftdb/shyft_database_util.go +++ b/shyftdb/shyft_database_util.go @@ -21,14 +21,14 @@ import ( type SBlock struct { hash string coinbase string - number int + number string } //blockRes struct type blockRes struct { hash string coinbase string - number int + number string Blocks []SBlock } @@ -287,7 +287,7 @@ func GetAllBlocks(sqldb *sql.DB) []SBlock { defer rows.Close() for rows.Next() { - var num int + var num string var hash string var coinbase string err = rows.Scan( @@ -301,35 +301,57 @@ func GetAllBlocks(sqldb *sql.DB) []SBlock { coinbase: coinbase, }) } - fmt.Println("++++++++++++++++", arr.Blocks) - return arr.Blocks } //GetBlock queries to send single block info //TODO provide blockHash arg passed from handler.go func GetBlock(sqldb *sql.DB) []SBlock { - var block []SBlock - var number string - var hash string - var coinbase string - + var arr blockRes sqlStatement := `SELECT * FROM blocks WHERE number=$1;` 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 { case sql.ErrNoRows: - fmt.Println("No rows were returned") - return block + fmt.Println("No rows were returned!") case nil: - fmt.Println("nil") + fmt.Println(row) default: panic(err) } - fmt.Println("this is a query", row) - return block + arr.Blocks = append(arr.Blocks, SBlock{ + 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 { var txs []ShyftTxEntryPretty iter := db.NewIterator(util.BytesPrefix([]byte("tx-")), nil)