Skip to content

Commit 50f174b

Browse files
authored
update Java Env (#768)
1 parent 291b030 commit 50f174b

File tree

4 files changed

+66
-39
lines changed

4 files changed

+66
-39
lines changed

docs/faq.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -139,13 +139,12 @@
139139
问:
140140
Web3SDK对Java版本有要求吗?<br>
141141
答:
142-
要求[JDK8或以上](https://openjdk.java.net/)<br>
143-
CentOS的yum仓库的OpenJDK由于缺少JCE(Java Cryptography Extension),导致Web3SDK无法正常连接区块链节点,在使用CentOS操作系统时,推荐从OpenJDK网站自行下载。 [安装指南](https://openjdk.java.net/install/index.html)
142+
参考[Java环境要求](sdk/java_sdk.html#id1)<br>
144143

145144
问:
146-
Web3SDK配置完成,发送交易失败的原因是什么?<br>
145+
Web3SDK配置完成,启动失败的原因是什么?<br>
147146
答:
148-
applicationContext.xml中的ip、端口、群组号填错或者是缺少节点的ca.crt、sdk.crt和sdk.key文件。
147+
参考[JavaSDK异常场景](sdk/java_sdk.html#id22)<br>
149148

150149

151150
## 企业级部署工具

docs/installation.md

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -151,13 +151,9 @@ info|2019-01-21 17:23:40.612241| [g:1][p:264][CONSENSUS][SEALER]++++++++++++++++
151151

152152
### 准备依赖
153153

154-
- 安装openjdk
154+
- Java环境配置
155155

156-
Ubuntu使用下面命令安装Java,CentOS请手动安装,macOS执行`brew cask install java`安装。
157-
158-
```bash
159-
sudo apt install -y default-jdk
160-
```
156+
参考[Java环境要求](sdk/java_sdk.html#id1)
161157

162158
- 获取控制台并回到fisco目录
163159

docs/manual/console.md

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -126,13 +126,11 @@ bash <(curl -S https://raw.githubusercontent.com/FISCO-BCOS/console/master/tools
126126
```eval_rst
127127
.. important::
128128
129-
控制台配置说明
129+
控制台说明
130130
131-
- 如果控制台配置正确,但是在CentOS系统上启动控制台出现如下错误:
132-
133-
Failed to connect to the node. Please check the node status and the console configruation.
131+
- 控制台启动失败
134132
135-
则是因为使用了CentOS系统自带的JDK版本(会导致控制台与区块链节点认证失败),请从 `OpenJDK官网 <https://jdk.java.net/java-se-ri/8>`_ 或 `Oracle官网 <https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html>`_ 下载并安装Java 8或以上版本(具体安装步骤 `参考附录 <./console.html#java>`_ ),安装完毕后再启动控制台
133+
参考,`附录:JavaSDK启动失败场景 <../sdk/java_sdk.html#id22>`_。
136134
137135
- 当控制台配置文件在一个群组内配置多个节点连接时,由于群组内的某些节点在操作过程中可能退出群组,因此控制台轮询节点查询时,其返回信息可能不一致,属于正常现象。建议使用控制台时,配置一个节点或者保证配置的节点始终在群组中,这样在同步时间内查询的群组内信息保持一致。
138136
@@ -1443,6 +1441,7 @@ Remove OK, 1 row affected.
14431441
- 删除记录sql语句的where子句必须提供表的主键字段值。
14441442
- 输入的值带标点符号、空格或者以数字开头的包含字母的字符串,需要加上双引号,双引号中不允许再用双引号。
14451443
1444+
14461445
## 附录:Java环境配置
14471446
14481447
### Ubuntu环境安装Java
@@ -1454,7 +1453,7 @@ java -version
14541453
```
14551454
14561455
### CentOS环境安装Java
1457-
**注意:CentOS下OpenJDK无法正常工作,需要替换为OracleJDK。**
1456+
**注意:CentOS下OpenJDK无法正常工作,需要安装OracleJDK**[下载链接](https://www.oracle.com/technetwork/java/javase/downloads/index.html)。
14581457
```bash
14591458
# 创建新的文件夹,安装Java 8或以上的版本,将下载的jdk放在software目录
14601459
# 从Oracle官网(https://www.oracle.com/technetwork/java/javase/downloads/index.html)选择Java 8或以上的版本下载,例如下载jdk-8u201-linux-x64.tar.gz
@@ -1471,5 +1470,4 @@ export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
14711470
$ source /etc/profile
14721471
# 查询Java版本,出现的版本是自己下载的版本,则安装成功。
14731472
java -version
1474-
```
1475-
1473+
```

docs/sdk/java_sdk.md

Lines changed: 55 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,16 @@
1414
```eval_rst
1515
.. important::
1616
17-
- java版本
18-
要求 `JDK8或以上 <https://openjdk.java.net/>`_。由于CentOS的yum仓库的OpenJDK缺少JCE(Java Cryptography Extension),导致Web3SDK无法正常连接区块链节点,因此在使用CentOS操作系统时,推荐从OpenJDK网站自行下载。`下载地址 <https://jdk.java.net/java-se-ri/8>`_ `安装指南 <https://openjdk.java.net/install/index.html>`_
17+
- Java版本
18+
JDK1.8 或者以上版本,推荐使用OracleJDK。
19+
20+
**注意**:CentOS的yum仓库的OpenJDK缺少JCE(Java Cryptography Extension),会导致JavaSDK无法正常连接区块链节点。
21+
- Java安装
22+
参考 `Java环境配置 <../manual/console.html#java>`_
1923
- FISCO BCOS区块链环境搭建
2024
参考 `FISCO BCOS安装教程 <../installation.html>`_
2125
- 网络连通性
22-
检查Web3SDK连接的FISCO BCOS节点channel_listen_port是否能telnet通,若telnet不通,需要检查网络连通性和安全策略。
26+
检查Web3SDK连接的FISCO BCOS节点`channel_listen_port`是否能telnet通,若telnet不通,需要检查网络连通性和安全策略。
2327
2428
```
2529

@@ -484,7 +488,7 @@ TransactionDecoder txDecodeSampleDecoder = TransactionDecoderFactory.buildTransa
484488
```
485489
486490
#### 解析input
487-
调用``` function echo(uint256 _u,int256 _i,bool _b,address _addr,bytes32 _bs32, string _s,bytes _bs) ``` 接口,输入参数为```[ 111111 -1111111 false 0x692a70d2e424a56d2c6c27aa97d1a86395877b3a abcdefghiabcdefghiabcdefghiabhji 章鱼小丸子ljjkl;adjsfkljlkjl sadfljkjkljkl ]```
491+
调用``` function echo(uint256 _u,int256 _i,bool _b,address _addr,bytes32 _bs32, string _s,bytes _bs) ``` 接口,输入参数为```[ 111111 -1111111 false 0x692a70d2e424a56d2c6c27aa97d1a86395877b3a abcdefghiabcdefghiabcdefghiabhji FISCO-BCOS nice ]```
488492
```java
489493
// function echo(uint256 _u,int256 _i,bool _b,address _addr,bytes32 _bs32, string _s,bytes _bs)
490494
String input = "0x406d373b000000000000000000000000000000000000000000000000000000000001b207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffef0bb90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000692a70d2e424a56d2c6c27aa97d1a86395877b3a6162636465666768696162636465666768696162636465666768696162686a6900000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000021e7aba0e9b1bce5b08fe4b8b8e5ad906c6a6a6b6c3b61646a73666b6c6a6c6b6a6c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d736164666c6a6b6a6b6c6a6b6c00000000000000000000000000000000000000";
@@ -529,12 +533,12 @@ json =>
529533
{
530534
"name": "_s",
531535
"type": "string",
532-
"data": "章鱼小丸子ljjkl;adjsfkljlkjl"
536+
"data": "FISCO-BCOS"
533537
},
534538
{
535539
"name": "_bs",
536540
"type": "bytes",
537-
"data": "sadfljkjkljkl"
541+
"data": "nice"
538542
}
539543
]
540544
}
@@ -578,18 +582,18 @@ InputAndOutputResult[
578582
ResultEntity[
579583
name=_s,
580584
type=string,
581-
data=章鱼小丸子ljjkl;adjsfkljlkjl
585+
data=FISCO-BCOS
582586
],
583587
ResultEntity[
584588
name=_bs,
585589
type=bytes,
586-
data=sadfljkjkljkl
590+
data=nice
587591
]
588592
]
589593
]
590594
```
591595
#### 解析output
592-
调用``` function echo(uint256 _u,int256 _i,bool _b,address _addr,bytes32 _bs32, string _s,bytes _bs) ``` 接口,输入参数为```[ 111111 -1111111 false 0x692a70d2e424a56d2c6c27aa97d1a86395877b3a abcdefghiabcdefghiabcdefghiabhji 章鱼小丸子ljjkl;adjsfkljlkjl sadfljkjkljkl ]```,echo接口直接将输入返回,因此返回与输入相同
596+
调用``` function echo(uint256 _u,int256 _i,bool _b,address _addr,bytes32 _bs32, string _s,bytes _bs) ``` 接口,输入参数为```[ 111111 -1111111 false 0x692a70d2e424a56d2c6c27aa97d1a86395877b3a abcdefghiabcdefghiabcdefghiabhji FISCO-BCOS nice ]```,echo接口直接将输入返回,因此返回与输入相同
593597
594598
```java
595599
// function echo(uint256 _u,int256 _i,bool _b,address _addr,bytes32 _bs32, string _s,bytes _bs) public constant returns (uint256,int256,bool,address,bytes32,string,bytes)
@@ -638,12 +642,12 @@ json =>
638642
{
639643
"name": "",
640644
"type": "string",
641-
"data": "章鱼小丸子ljjkl;adjsfkljlkjl"
645+
"data": "FISCO-BCOS"
642646
},
643647
{
644648
"name": "",
645649
"type": "bytes",
646-
"data": "sadfljkjkljkl"
650+
"data": "nice"
647651
}
648652
]
649653
}
@@ -687,20 +691,20 @@ InputAndOutputResult[
687691
ResultEntity[
688692
name=,
689693
type=string,
690-
data=章鱼小丸子ljjkl;adjsfkljlkjl
694+
data=FISCO-BCOS
691695
],
692696
ResultEntity[
693697
name=,
694698
type=bytes,
695-
data=sadfljkjkljkl
699+
data=nice
696700
]
697701
]
698702
]
699703
```
700704
701705
#### 解析event logs
702706
703-
调用``` function do_event(uint256 _u,int256 _i,bool _b,address _addr,bytes32 _bs32, string _s,bytes _bs) ``` 接口,输入参数为```[ 111111 -1111111 false 0x692a70d2e424a56d2c6c27aa97d1a86395877b3a abcdefghiabcdefghiabcdefghiabhji 章鱼小丸子ljjkl;adjsfkljlkjl sadfljkjkljkl ]```,解析交易中的logs
707+
调用``` function do_event(uint256 _u,int256 _i,bool _b,address _addr,bytes32 _bs32, string _s,bytes _bs) ``` 接口,输入参数为```[ 111111 -1111111 false 0x692a70d2e424a56d2c6c27aa97d1a86395877b3a abcdefghiabcdefghiabcdefghiabhji FISCO-BCOS nice ]```,解析交易中的logs
704708
705709
```java
706710
// transactionReceipt为调用do_event接口的交易回执
@@ -750,7 +754,7 @@ json =>
750754
{
751755
"name": "_s",
752756
"type": "string",
753-
"data": "章鱼小丸子ljjkl;adjsfkljlkjl",
757+
"data": "Fisco Bcos",
754758
"indexed": false
755759
},
756760
{
@@ -796,13 +800,13 @@ json =>
796800
{
797801
"name": "_s",
798802
"type": "string",
799-
"data": "章鱼小丸子ljjkl;adjsfkljlkjl",
803+
"data": "FISCO-BCOS",
800804
"indexed": false
801805
},
802806
{
803807
"name": "_bs",
804808
"type": "bytes",
805-
"data": "sadfljkjkljkl",
809+
"data": "nice",
806810
"indexed": false
807811
}
808812
]
@@ -847,12 +851,12 @@ map =>
847851
ResultEntity[
848852
name=_s,
849853
type=string,
850-
data=章鱼小丸子ljjkl;adjsfkljlkjl
854+
data=FISCO-BCOS
851855
],
852856
ResultEntity[
853857
name=_bs,
854858
type=bytes,
855-
data=sadfljkjkljkl
859+
data=nice
856860
]
857861
]
858862
],
@@ -892,12 +896,12 @@ map =>
892896
ResultEntity[
893897
name=_s,
894898
type=string,
895-
data=章鱼小丸子ljjkl;adjsfkljlkjl
899+
data=FISCO-BCOS
896900
],
897901
ResultEntity[
898902
name=_bs,
899903
type=bytes,
900-
data=sadfljkjkljkl
904+
data=nices
901905
]
902906
]
903907
]
@@ -1338,3 +1342,33 @@ class Asset {
13381342

13391343
asset.registerRegisterEventEventLogFilter(fromBlock,toBlock,otherTopics,callback);
13401344
```
1345+
1346+
## 附录:JavaSDK启动异常场景
1347+
1348+
- Failed to connect to the node. Please check the node status and the console configuration.<br>
1349+
比较旧的SDK版本的提示,建议将JavaSDK版本升级至**2.2.2**或者以上(修改gradle.build或者maven配置文件中web3sdk的版本号),可以获取更准确友好的提示,然后参考下面的错误提示解决问题。<br> <br>
1350+
1351+
- Failed to initialize the SSLContext: class path resource [ca.crt] cannot be opened because it does not exist. <br>
1352+
无法加载到证书文件,证书文件没有正确拷贝至conf目录,可以参考控制台安装流程,拷贝证书文件至conf目录下。<br><br>
1353+
1354+
- Failed to initialize the SSLContext: Input stream not contain valid certificates. <br>
1355+
加载证书文件失败,CentOS系统使用OpenJDK的错误,参考[CentOS环境安装JDK](../manual/console.html#java)章节重新安装OracleJDK。<br><br>
1356+
1357+
- Failed to connect to nodes: [connection timed out: /192.0.0.1:20200]<br>
1358+
连接超时,节点的网络不可达,请检查提示的IP是否配置错误,或者,当前JavaSDK运行环境与节点的环境网络确实不通,可以咨询运维人员解决网络不通的问题。<br><br>
1359+
1360+
- Failed to connect to nodes: [拒绝连接: /127.0.0.1:20200]<br>
1361+
拒绝连接,无法连接对端的端口,可以使用telnet命令检查端口是否连通,可能原因:
1362+
1. 节点未启动,端口处于未监听状态,启动节点即可。
1363+
2. 节点监听`127.0.0.1`的网段,监听`127.0.0.1`网络只能本机的客户端才可以连接,控制台位于不同服务器时无法连接节点,将节点配置文件`config.ini`中的`channel_listen_ip`修改为控制台连接节点使用的网段IP,或者将其修改为`0.0.0.0`
1364+
3. 错误的端口配置,配置的端口并不是节点监听的channel端口,修改连接端口为节点`config.ini`配置的`channel_listen_port`的值。<br>
1365+
**注意:控制台(或者JavaSDK)连接节点时使用Channel端口,并不是RPC端口,Channel端口在节点配置文件中通过channel_listen_ip字段配置,RPC端口通过jsonrpc_listen_port字段配置,注意区分,RPC默认从8545开始分配, Channel端口默认从20200开始分配。**
1366+
1367+
- Failed to connect to nodes: [ ssl handshake failed:/127.0.0.1:20233]
1368+
与节点ssl握手失败,可能原因:<br>
1369+
1. 拷贝了错误的证书,检查拷贝的证书是否正确。
1370+
2. 端口配置错误,连接其他服务正在监听的端口,检查连接端口是否为节点`channel_listen_port`端口。
1371+
3. JDK版本问题,推荐使用1.8以及以上的OracleJDK,参考[CentOS环境安装JDK](../manual/console.html#java)章节安装OracleJDK。<br><br>
1372+
1373+
- Failed to connect to [127.0.0.1:20233, 127.0.0.1:20234, 127.0.0.1:20235] ,groupId: 1 ,caCert: classpath:ca.crt ,sslKey: classpath:sdk.key ,sslCrt: classpath:sdk.crt ,java version: 1.8.0_231.<br>
1374+
其他未知的错误,需要查看日志文件分析具体错误。

0 commit comments

Comments
 (0)