mirror of
				https://github.com/ChristopherA/Learning-Bitcoin-from-the-Command-Line.git
				synced 2025-10-31 10:27:29 +00:00 
			
		
		
		
	reedited first section
This commit is contained in:
		
							parent
							
								
									afc7720cec
								
							
						
					
					
						commit
						3b56d55129
					
				| @ -11,12 +11,14 @@ You can check this by running: | ||||
| 
 | ||||
| `$ python3 --version` | ||||
| 
 | ||||
| If it returns a version number (e.g., `3.7.3` or `3.8.3`) then you have python3 installed. Continue on to the next header. | ||||
| If it returns a version number (e.g., `3.7.3` or `3.8.3`) then you have python3 installed. Continue on to ["Setting Up BitcoinRPC"](17_4_Accessing_Bitcoind_with_Python.md#setting-up-bitcoinrpc). | ||||
| 
 | ||||
| However, if you somehow do not have Python installed, you'll need build it from source as follows: | ||||
| 
 | ||||
| ### Building Python from Source | ||||
| 
 | ||||
| Skip to ["Setting Up BitcoinRPC"](17_4_Accessing_Bitcoind_with_Python.md#setting-up-bitcoinrpc) if you already have Python 3 running. Otherwise: | ||||
| 
 | ||||
| #### 1. Install Dependencies | ||||
| ```sh | ||||
| $ sudo apt-get install build-essential checkinstall | ||||
| @ -46,8 +48,6 @@ $ rm Python-3.8.3.tgz | ||||
| 
 | ||||
| ### Setting Up BitcoinRPC | ||||
| 
 | ||||
| sudo apt-get install python3-pip | ||||
| 
 | ||||
| Whether you used an existing Python or built it from source, you're now ready to install  the `python-bitcoinrpc` library: | ||||
| 
 | ||||
| ``` | ||||
| @ -57,10 +57,11 @@ If you don't have `pip` installed, you'll need to run the following: | ||||
| ``` | ||||
| $ sudo apt install python3-pip | ||||
| ``` | ||||
| (Then repeat the `pip3 install python-bitcoinrpc` instructions.) | ||||
| 
 | ||||
| ### Creating a BitcoinRPC Project | ||||
| 
 | ||||
| You'll generally need to include appropriate declarations from `bitcoinrpc` in your Bitcoin projects in Python: | ||||
| You'll generally need to include appropriate declarations from `bitcoinrpc` in your Bitcoin projects in Python. The following will give you access to the RPC based commands: | ||||
| ```py | ||||
| from bitcoinrpc.authproxy import AuthServiceProxy, JSONRPCException | ||||
| ``` | ||||
| @ -95,7 +96,7 @@ The arguments in the URL are `<rpc_username>:<rpc_password>@<host_IP_address>:<p | ||||
| 
 | ||||
| If `rpc_client` is successfully initialized, you'll be able to send off RPC commands to your bitcoin node. | ||||
| 
 | ||||
| In order to use an RPC method using `python-bitcoinrpc`, you'll use `rpc_client`, which provides most of the functionality that can be accessed through `bitcoin-cli`, using the same method names. | ||||
| In order to use an RPC method from `python-bitcoinrpc`, you'll use `rpc_client` object that you created, which provides most of the functionality that can be accessed through `bitcoin-cli`, using the same method names. | ||||
| 
 | ||||
| For example, the following will retrieve the blockcount of your node: | ||||
| 
 | ||||
| @ -117,10 +118,16 @@ Block Count: 1773020 | ||||
| ``` | ||||
| ### Making an RPC Call with Arguments | ||||
| 
 | ||||
| You can then use that blockcount as an argument to retrieve the blockhash of a block and also to retrieve details of that block: | ||||
| You can use that blockcount as an argument to retrieve the blockhash of a block and also to retrieve details of that block. | ||||
| 
 | ||||
| This is done by send your `rpc_client` object commands with an argument: | ||||
| ```py | ||||
| blockhash = rpc_client.getblockhash(block_count) | ||||
| block = rpc_client.getblock(blockhash) | ||||
| ``` | ||||
| 
 | ||||
| The `getblockhash` will return a single value, while the `getblock` will return an associative array of information about the block, which includes an array under `block['tx']` providing details on each transaction within the block: | ||||
| ```py | ||||
| nTx = block['nTx'] | ||||
| if nTx > 10: | ||||
|     it_txs = 10 | ||||
| @ -149,7 +156,7 @@ print("---------------------------------------------------------------\n") | ||||
| 
 | ||||
| ### Running Your Code | ||||
| 
 | ||||
| You can retrieve [the src doe](src/17_4_getinfo.py) and run it with `python3`: | ||||
| You can retrieve [the src code](src/17_4_getinfo.py) and run it with `python3`: | ||||
| ``` | ||||
| $ python3 blockinfo.py | ||||
| --------------------------------------------------------------- | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user