mirror of
https://github.com/ChristopherA/Learning-Bitcoin-from-the-Command-Line.git
synced 2025-06-27 09:46:08 +00:00
updated
This commit is contained in:
parent
325299f087
commit
efee6e2224
@ -137,11 +137,18 @@ The btcd rpcclient works by calling bitcoin-cli commands through in PascalCase.
|
|||||||
|
|
||||||
The ```import``` declaration at the top allows you to import relevant libraries. For every example here we will need to import ```"log", "fmt"``` and ```"github.com/btcsuite/btcd/rpcclient"```. We may need to import additional libraries for some examples. ```log``` is used for printing out error messages. After each time our Bitcoin node is called, we have an if statement checking if there are any errors. If there are errors, ```log``` is used to print them out. ```fmt``` is used for printing out our output. Since the examples in this document have different libraries to import, I will be showing the entire Go file, not just the specific function.
|
The ```import``` declaration at the top allows you to import relevant libraries. For every example here we will need to import ```"log", "fmt"``` and ```"github.com/btcsuite/btcd/rpcclient"```. We may need to import additional libraries for some examples. ```log``` is used for printing out error messages. After each time our Bitcoin node is called, we have an if statement checking if there are any errors. If there are errors, ```log``` is used to print them out. ```fmt``` is used for printing out our output. Since the examples in this document have different libraries to import, I will be showing the entire Go file, not just the specific function.
|
||||||
|
|
||||||
The ```defer client.Shutdown()``` line is for disconnecting the connection to our Bitcoin node from the rpcclient, once the ```main()``` function finishes executing.
|
The ```defer client.Shutdown()``` line is for disconnecting the connection to our Bitcoin node from the rpcclient, once the ```main()``` function finishes executing. After the ```defer client.Shutdown()``` line is where the exciting stuff is, like ```client.GetBlockCount()``` and ```client.GetBlockHash(blockCount)```.
|
||||||
|
|
||||||
|
The rpcclient functions can take inputs as well, for example ```client.GetBlockHash(blockCount)``` takes the block count as an input. The ```client.GetBlockHash(blockCount)``` from above would look like this as a ```bitcoin-cli``` command:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ bitcoin-cli getblockhash 1773561
|
||||||
|
00000000000000346bab4126f418a5820692c9a7de7ef79717bebfccebacad61
|
||||||
|
```
|
||||||
|
|
||||||
A quirk with hashes in rpcclient is that they will typically print in a different encoding if you were to print it normally with ```blockHash```. In order to print them as a string, we need to use ```blockHash.String()```.
|
A quirk with hashes in rpcclient is that they will typically print in a different encoding if you were to print it normally with ```blockHash```. In order to print them as a string, we need to use ```blockHash.String()```.
|
||||||
|
|
||||||
We can run Go code with ```go run main.go```:
|
We can run the Go code with ```go run main.go``` and we should get an output that looks like this:
|
||||||
|
|
||||||
```
|
```
|
||||||
$ go run main.go
|
$ go run main.go
|
||||||
|
Loading…
x
Reference in New Issue
Block a user