准备工作
1. 申请接入至信链版权存证产品,您需要先在 至信链开放平台 注册认证并提交您的企业信息。
2. 注册至信链控制台账号,并完成实名认证:
在至信链控制台单击左侧菜单栏链账户管理。
在链账户管理页面中单击新建,根据指引操作,具有可参考新建链账户。
步骤一:注册账户
步骤二:开通存证服务
步骤三:创建链账户
1. 登录至信链控制台,单击链账户管理。

2. 单击新建链账户。

3. 输入账号名称、描述后单击下一步。

4. 单击生成签名跳转至“至信链密钥生成工具”页面(安装方式请参考:至信链密钥生成工具)。

5. 单击生成密钥,下载公私钥。

6. 单击签名 Tab,填写签名信息,导入私钥后单击“点击生成签名”按钮

7. 在新建账户页面导入公钥及签名后单击下一步。

步骤四:获取 secretId、secretkey
1. 单击右上角用户名,选择账户信息。

2. 复制 secretId, secretKey。

步骤五:API 调用说明
1. API 文档
2. golang 项目调用至信链 API

2.2
修改 nft_wallet_sdk 中的 go.mod 文件,将 module 重命名为 nft_wallet_sdk 

2.3 在 zxdemo 项目的 go.mod 文件中引入如下依赖
require nft_wallet_sdk v1.0.0require(github.com//go-querystring v1.0.0// indirectgithub.com/mozillazg/go-httpheader v0.2.1// indirectgithub.com/tencentyun/cos-go-sdk-v5 v0.7.7// indirectgithub.com/tjfoc/gmsm v1.4.0// indirectgolang.org/x/crypto v0.0.0-20201012173705-84dcc777aaee// indirectgolang.org/x/sys v0.0.0-20200930185726-fdedc70b468f// indirect)replace nft_wallet_sdk=>./nft_wallet_sdk

2.4 编写代码
2.4.1 zxdemo/apidemo 介绍
baseinfo.go:包含生成鉴权信息的方法
caculate_tool.go:构建签名数据的方法
ev_test.go:hash 存证 api 调用示例
kv_test.go:kv 存证 api 调用示例
2.4.2 zxdemo/common 介绍
code.go:存放错误码
http_tool.go(关键):http 请求封装示例
response.go:至信链标准响应结构体
2.4.3 快速运行
2.4.3.1 hash 存证
1) 打开
zxdemo/apidemo/ev_test.go2)根据图示,在 “ TestEv ” 方法中填写相关信息

3)执行如下命令快速运行
go test ./apidemo -count=1 -run '^\\QTestEv\\E$' -v
2.4.3.2 kv 存证
1)打开
zxdemo/apidemo/kv_test.go 2)根据图示,在 “ TestKv ”方法中填写相关信息

3)执行如下命令快速运行
go test ./apidemo -count=1 -run '^\\QTestKv\\E$' -v
3. Java 项目调用至信链 API
3.1 下载本地服务
Linux:至信链本地服务-linux
Mac:至信链本地服务-mac
Windows:至信链本地服务-windows
Docker镜像:wallet_service.tar
3.2 启动本地服务
Linux 启动命令:nohup ./wallet_service &> "日志存储路径" &
Mac 启动命令:chmod a+x nft_wallet_service_mac
./nft_wallet_service_mac
Windows 启动:双击 wallet_service.exe 文件
Docker 镜像启动方式( 30505 可以根据需求替换成其它端口)
上传 wallet_service.tar 包到环境中,执行:docker load -i wallet_service.tar docker run -d --restart=always --name=nft_wallet_service -e PORT=30505 -p30505:30505 nft_wallet_service:v1.0.0
3.3 本地服务接口文档
详情请参考:至信链开放联盟链本地服务SDK文档
3.4 本地服务调用详解,以 apifox 为例
url: http://127.0.0.1:30505/ 方法名
请求头设置:"Content-Type": "application/json"
参数格式:放在 HTTP 请求 body 中,使用 JSON 格式传递参数

3.5 编写代码
3.5.1 快速运行
3.5.1.2 修改配置
1)打开 javademo/src/main/java/config/Config
2)按照注释填写如下信息

3.5.1.3 hash 存证
1)打开 javademo/src/main/java/ev/Test
2)运行 main 方法并等待执行结果
3.5.1.4 kv 存证
1)打开 javademo/src/main/java/kv/Test
2)运行 main 方法并等待执行结果
步骤六:SDK 接入说明
1. go-SDK:下载 SDK
2. 将 gosdk 导入项目中,以 golang “zxsdk_demo” 项目为例

3. go.mod 中引入如下依赖
require zxsdk v1.0.0require(github.com//go-querystring v1.0.0// indirectgithub.com//uuid v1.1.1// indirectgithub.com/mitchellh/mapstructure v1.4.3// indirectgithub.com/mozillazg/go-httpheader v0.2.1// indirectgithub.com/sirupsen/logrus v1.9.3// indirectgithub.com/tencentyun/cos-go-sdk-v5 v0.7.7// indirectgithub.com/tjfoc/gmsm v1.4.0// indirectgolang.org/x/crypto v0.0.0-20201012173705-84dcc777aaee// indirectgolang.org/x/sys v0.22.0// indirectwallet_sdk v1.0.0// indirect)replace(wallet_sdk=>./zxsdk/wallet_sdkzxsdk=>./zxsdk)

4. 编写代码
4.1 快速运行
4.1.1 hash 存证
1)打开 zxsdk_demo/ev_sdk_test.go
2)根据图示,在 “TestEv” 方法中填写相关信息

3)执行如下命令快速运行
go test . -count=1 -run '^\\QTestEv\\E$' -v
4.1.2 kv 存证
1) 打开 zxsdk_demo/ev_sdk_test.go
2)根据图示,在 ”TestKv“ 方法中填写相关信息

3)执行如下命令快速运行
go test . -count=1 -run '^\\QTestKv\\E$' -v
4.2 工具库相关
4.2.1 关闭日志打印
1)打开 zxsdk_demo/log_test.go
2)查看 TestDisableLog 中 log.Logger.DisableLogger 方法的使用方式

3)试运行 TestDisableLog 查看 logger 禁用前后的效果
go test . -count=1 -run '^\\QTestDisableLog\\E$' -v
4.2.2 替换日志框架
/**日志框架需要实现LoggerItf接口type LoggerItf interface {Errorf(format string, args ...interface{})Infof(format string, args ...interface{})}
1)打开 zxsdk_demo/log_test.go
2)查看 TestChangeLogFrame 中 log.Logger.SetLogger 方法的使用方式

3)试运行 TestChangeLogFrame 查看 logger 替换前后的效果
go test . -count=1 -run '^\\QTestChangeLogFrame\\E$' -v
4.2.3 HTTP 连接池配置
可参考代码:
client, err := zxsdk.NewZxChainClient("secretId", "secretKey", "privateKey")if err != nil {return}// 设置http clientclient.SetHttpClient(&http.Client{// 超时时间Timeout: 10 * time.Second,Transport: http.DefaultTransport,})