Steven Polley
4c01dc4ea2
All checks were successful
continuous-integration/drone/push Build is passing
37 lines
999 B
Go
37 lines
999 B
Go
package bitcoin
|
|
|
|
import (
|
|
"fmt"
|
|
"net/url"
|
|
)
|
|
|
|
type Address struct {
|
|
Address string `json:"address"`
|
|
ChainStats struct {
|
|
FundedTxoCount int `json:"funded_txo_count"`
|
|
FundedTxoSum int `json:"funded_txo_sum"`
|
|
SpentTxoCount int `json:"spent_txo_count"`
|
|
SpentTxoSum int `json:"spent_txo_sum"`
|
|
TxCount int `json:"tx_count"`
|
|
} `json:"chain_stats"`
|
|
MempoolStats struct {
|
|
FundedTxoCount int `json:"funded_txo_count"`
|
|
FundedTxoSum int `json:"funded_txo_sum"`
|
|
SpentTxoCount int `json:"spent_txo_count"`
|
|
SpentTxoSum int `json:"spent_txo_sum"`
|
|
TxCount int `json:"tx_count"`
|
|
} `json:"mempool_stats"`
|
|
}
|
|
|
|
// GetAddress returns an Address struct populated with data from blockstream.info
|
|
// for a given BTC address
|
|
func (c *client) GetAddress(address string) (*Address, error) {
|
|
addressResponse := &Address{}
|
|
|
|
err := c.get(fmt.Sprintf("address/%s", address), addressResponse, url.Values{})
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return addressResponse, nil
|
|
}
|