mirror of
				https://github.com/ChristopherA/Learning-Bitcoin-from-the-Command-Line.git
				synced 2025-10-31 18:37:36 +00:00 
			
		
		
		
	fixing up maven installation
This commit is contained in:
		
							parent
							
								
									550c37c99f
								
							
						
					
					
						commit
						cf5380eab1
					
				| @ -1,33 +1,31 @@ | |||||||
| # 18.2: Accessing Bitcoind with Java | # 17.2: Accessing Bitcoind with Java | ||||||
| 
 | 
 | ||||||
| > **NOTE:** This is a draft in progress, so that I can get some feedback from early reviewers. It is not yet ready for learning. | > **NOTE:** This is a draft in progress, so that I can get some feedback from early reviewers. It is not yet ready for learning. | ||||||
| 
 | 
 | ||||||
| Interacting with the `bitcoind` directly and using command-line `curl` can get simple if you understand how it works, but there's a project [JavaBitcoindRpcClient](https://github.com/Polve/JavaBitcoindRpcClient) that provides the functionality in a Java-API level, making it even easier to interact with your Bitcoin Server. | This section explains how to interact with `bitcoind` using the Java programming language and the  [JavaBitcoindRpcClient](https://github.com/Polve/JavaBitcoindRpcClient).  | ||||||
| 
 | 
 | ||||||
|  | ## Setting Up Java | ||||||
| 
 | 
 | ||||||
| ## Setup Java | You can install Java on your server, using the `apt-get` command. You will also install [Apache Maven](http://maven.apache.org/) to manage the dependencies.  | ||||||
| 
 |  | ||||||
| To install Java on the VPS Server, you are able to use the `apt-get` command. We will also use [Apache Maven](http://maven.apache.org/) to manage the dependencies, so we will install it together.  In this project we will create a maven project and indicate minimum configuration about Gradle (https://gradle.org/releases/) |  | ||||||
| 
 |  | ||||||
| ``` | ``` | ||||||
| $ apt-get install openjdk-11-jre-headless maven | $ sudo apt-get install openjdk-11-jre-headless maven | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
| You can verify your Java installation: | You can verify your Java installation: | ||||||
| ``` | ``` | ||||||
| $ java -version | $ java -version | ||||||
| openjdk version "11.0.7" 2020-04-14 | openjdk version "11.0.8" 2020-07-14 | ||||||
| OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-2ubuntu218.04) | OpenJDK Runtime Environment (build 11.0.8+10-post-Debian-1deb10u1) | ||||||
| OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-2ubuntu218.04, mixed mode, sharing) | OpenJDK 64-Bit Server VM (build 11.0.8+10-post-Debian-1deb10u1, mixed mode, sharing) | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
| ## Create maven project | ### Creating a Maven Project | ||||||
| 
 | 
 | ||||||
|  | In order to prepare for Bitcoin on java, you will create a Maven project: | ||||||
| ``` | ``` | ||||||
| mvn archetype:generate -DgroupId=com.blockchaincommons.lbtc -DartifactId=java-project -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false | $ mvn archetype:generate -DgroupId=com.blockchaincommons.lbtc -DartifactId=java-project -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false | ||||||
| ``` | ``` | ||||||
| It will download some dependencies | This will download some dependencies | ||||||
| 
 |  | ||||||
| ``` | ``` | ||||||
| Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.pom | Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.pom | ||||||
| Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.pom (4 KB at 4.2 KB/sec) | Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.pom (4 KB at 4.2 KB/sec) | ||||||
| @ -38,41 +36,41 @@ Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/2 | |||||||
| Downloading: https://repo.maven.apache.org/maven2/org/apache/apache/10/apache-10.pom | Downloading: https://repo.maven.apache.org/maven2/org/apache/apache/10/apache-10.pom | ||||||
| .............. | .............. | ||||||
| ``` | ``` | ||||||
| It will create a configuration file pom.xml | It will also create a configuration file `pom.xml`: | ||||||
| 
 | 
 | ||||||
| ``` | ``` | ||||||
| user@machine:~/BitcoinRpcClient/java-project$ ll | $ cd java-project | ||||||
| total 16 | $ ls -lagh | ||||||
| drwxr-xr-x 3 user user 4096 Jun 17 16:47 ./ | total 16K | ||||||
| drwxr-xr-x 3 user user 4096 Jun 17 15:02 ../ | drwxr-xr-x  3 sudo 4.0K Sep  1 13:58 . | ||||||
| -rw-r--r-- 1 user user 1175 Jun 17 16:34 pom.xml | drwxr-xr-x 15 sudo 4.0K Sep  1 13:58 .. | ||||||
| drwxr-xr-x 4 user user 4096 Jun 17 15:02 src/ | -rw-r--r--  1 sudo  663 Sep  1 13:58 pom.xml | ||||||
| user@machine:~/BitcoinRpcClient/java-project$  | drwxr-xr-x  4 sudo 4.0K Sep  1 13:58 src | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
| This project uses JavaBitcoindRpcClient, so you need include the dependency editing pom.xml file | In order to include `JavaBitcoindRpcClient`, you must add that dependency to `<dependendencies>` in the `pom.xml` file | ||||||
| 
 | 
 | ||||||
| ```xml | ```xml | ||||||
| <dependency> |     <dependency> | ||||||
|   <groupId>wf.bitcoin</groupId> |       <groupId>wf.bitcoin</groupId> | ||||||
|   <artifactId>JavaBitcoindRpcClient</artifactId> |       <artifactId>bitcoin-rpc-client</artifactId> | ||||||
|   <version>1.1.0</version> |       <version>1.1.0</version> | ||||||
| </dependency> |     </dependency> | ||||||
| ``` | ``` | ||||||
| You need to add compiler properties to indicate what JDK version will compile the source code.     | You need to add compiler properties to indicate what JDK version will compile the source code.     | ||||||
| 
 | 
 | ||||||
| ``` | ``` | ||||||
|     <properties> |   <properties>                                                                   | ||||||
| 	<!-- https://maven.apache.org/general.html#encoding-warning --> |     <!-- https://maven.apache.org/general.html#encoding-warning --> | ||||||
|         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> | ||||||
|         <maven.compiler.source>1.11</maven.compiler.source> |     <maven.compiler.source>11</maven.compiler.source> | ||||||
|         <maven.compiler.target>1.11</maven.compiler.target> |     <maven.compiler.target>11</maven.compiler.target> | ||||||
|     </properties> |   </properties>                                                                  | ||||||
| ``` | ``` | ||||||
| Finally add source code to java classes and execute | Finally add source code to java classes and execute | ||||||
| 
 | 
 | ||||||
| ``` | ``` | ||||||
| user@machine:~/BitcoinRpcClient/java-project$ mvn package | $ mvn package | ||||||
| [INFO] Scanning for projects... | [INFO] Scanning for projects... | ||||||
| [INFO] | [INFO] | ||||||
| [INFO] ------------------< com.blockchaincommons.lbtc:java-project >------------------- | [INFO] ------------------< com.blockchaincommons.lbtc:java-project >------------------- | ||||||
| @ -101,12 +99,15 @@ Tests run: 2, Failures: 0, Errors: 0, Skipped: 0 | |||||||
| [INFO] ------------------------------------------------------------------------``` | [INFO] ------------------------------------------------------------------------``` | ||||||
| 
 | 
 | ||||||
| ``` | ``` | ||||||
| Or if you use Gradle: | 
 | ||||||
|  | ### Creating Alternative Projects | ||||||
|  | 
 | ||||||
|  | If you use [Gradle]((https://gradle.org/releases/), you can instead run: | ||||||
| ```groovy | ```groovy | ||||||
| compile 'wf.bitcoin:JavaBitcoindRpcClient:1.1.0' | compile 'wf.bitcoin:JavaBitcoindRpcClient:1.1.0' | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
| If you want a sample project and some instructions on how to run it on the server that we just created, you can refer to the [Bitcoind Java Sample Project](https://github.com/brunocvcunha/bitcoind-java-client-sample/). | If you want a sample project and some instructions on how to run it on the server that you just created, you can refer to the [Bitcoind Java Sample Project](https://github.com/brunocvcunha/bitcoind-java-client-sample/). | ||||||
| 
 | 
 | ||||||
| ## Build Your Connection | ## Build Your Connection | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user