快速入门

最近更新时间:2025-07-16 15:43:42

我的收藏

准备工作

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

步骤一:注册账户

访问 至信链控制台,单击注册按钮。选择企业用户注册或者个人用户注册。

步骤二:开通存证服务

登录至信链控制台,单击服务市场,找到存证服务并单击接入服务按钮。

步骤三:创建链账户

1. 登录至信链控制台,单击链账户管理。

2. 单击新建链账户

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

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

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

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

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


步骤四:获取 secretId、secretkey

1. 单击右上角用户名,选择账户信息。

2. 复制 secretId, secretKey。


步骤五:API 调用说明

1. API 文档

可参考:至信链 API 文档

2. golang 项目调用至信链 API

2.1 将 nft_wallet_sdk 导入到项目中,以 golang “ zxdemo ” 项目为例


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


2.3 在 zxdemo 项目的 go.mod 文件中引入如下依赖
require nft_wallet_sdk v1.0.0

require (
github.com/google/go-querystring v1.0.0 // indirect
github.com/mozillazg/go-httpheader v0.2.1 // indirect
github.com/tencentyun/cos-go-sdk-v5 v0.7.7 // indirect
github.com/tjfoc/gmsm v1.4.0 // indirect
golang.org/x/crypto v0.0.0-20201012173705-84dcc777aaee // indirect
golang.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.go
2)根据图示,在 “ 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 下载本地服务
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 本地服务接口文档
3.4 本地服务调用详解,以 apifox 为例
url: http://127.0.0.1:30505/ 方法名
请求头设置:"Content-Type": "application/json"
参数格式:放在 HTTP 请求 body 中,使用 JSON 格式传递参数

3.5 编写代码
详情可参考 javademo
3.5.1 快速运行
3.5.1.1 参考 2.2 中步骤启动本地服务
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.0
require (
github.com/google/go-querystring v1.0.0 // indirect
github.com/google/uuid v1.1.1 // indirect
github.com/mitchellh/mapstructure v1.4.3 // indirect
github.com/mozillazg/go-httpheader v0.2.1 // indirect
github.com/sirupsen/logrus v1.9.3 // indirect
github.com/tencentyun/cos-go-sdk-v5 v0.7.7 // indirect
github.com/tjfoc/gmsm v1.4.0 // indirect
golang.org/x/crypto v0.0.0-20201012173705-84dcc777aaee // indirect
golang.org/x/sys v0.22.0 // indirect
wallet_sdk v1.0.0 // indirect
)
replace (
wallet_sdk => ./zxsdk/wallet_sdk
zxsdk => ./zxsdk
)

4. 编写代码
详情可参考 golang zxsdk_demo
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{})
}
替换方式可参考 golang zxsdk_demo
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 client
client.SetHttpClient(&http.Client{
// 超时时间
Timeout: 10 * time.Second,
Transport: http.DefaultTransport,
})