文章目录 前言一、创建一个泰安链账户二、生成公钥私钥1.下载并安装openssl2.生成公钥3.生成私钥4.生成签名文件5.签名验签6.文件转换 三、创建一个泰安链项目总结提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
提示:这里可以添加本文要记录的大概内容:
最开始了解BSN是因为BSN的开发者大赛,如果你想尝试一下开发或学习区块链的相关知识,我认为是一个很好的入门平台。
来看一下它的简介:
区块链服务网络BSN(“服务网络”或者“BSN”)是为开发者提供了一站式的区块链开发、部署和运行环境服务,整合了各大云服务商、框架商以及多个门户方的资源。因为涉及到编程开发、配置资源、部署应用、网关调用、以及密钥证书等多个方面,因此BSN官方门户(bsnbase.com)为开发者准备了帮助手册(http://kb.bsnbase.com/webdoc/view/Pub4028813e705bf9760170a92185bd1277.html),帮助开发者顺利掌握BSN的使用技巧,从而能够将BSN作为区块链开发和部署的首选工具。
更多的内容你可以自己去他的网站上探索~,这里使用到的是BSN中提供的开放联盟链中的泰安链。
开放联盟链是用于部署和运行各类区块链应用的一站式区块链服务运行环境。与传统联盟链服务相比,开放联盟链的应用共享记账节点资源,不同应用的智能合约可以相互可见及调用,共享使用区块链数据账本;链外业务系统可以通过节点网关简单、快速接入区块链网络进行交易处理。
目前BSN开放联盟链已推出文昌链(基于IRITA)、泰安链(基于FISCO BCOS)、武汉链(基于Ethereum)、唐山链(基于DBChain)、广元链(基于Everscale)和中移链(基于EOS),BSN后续将持续集成更多的底层框架,欢迎大家使用并提出宝贵的意见和建议。
目前除了广元链支持密钥托管(这个模式适合不想写太多代码的开发者)之外,所有的其他开放联盟链都只能采用上传公外和上传账户地址的方式创建链账户。而广元链账户创建之前要注意提前创建好广元链的项目和部署智能合约。
一、创建一个泰安链账户
点击图片右边的创建账户
取一个名字然后选择“上传公钥”模式,目前bsn已经取消了泰安链的密钥托管模式(没有密钥托管模式就不能线上部署智能合约)
然后进入下一步,生成自己的公钥私钥。不用选择在线生成。
二、生成公钥私钥 1.下载并安装openssl下载安装openssl并配置环境变量。https://www.openssl.org/source/
找一个安装教程,到官网中下载最新版的openssl
打开命令行,终端输入 openssl 进入open ssl命令行(如果这一步都不行请检查有没有配置环境变量或环境变量配置是否正确)
输入命令:
官方文档中提供的命令是:ecparam -name prime256v1 -genkey -out key.pem。
但是泰安链的框架是FISCO-secp256k1,其他的算法也要使用对应的加密算法,因此这里要改动一下语句,使用secp256k1 加密算法,注意算法不能错,错了就会导致测试失败无法成功创建。
ecparam -name secp256k1 -genkey -out key.pem
因为没有指定目录,所以我生成的文件保存在了C:\Users\Lenovo目录下。
3.生成私钥输入命令 ec -in key.pem -pubout -out pub.pem 用key.pem文件中的私钥生成一个公钥文件pub.pem
ec -in key.pem -pubout -out pub.pem
执行结果:
read EC key
writing EC key
先在已经生成的公钥私钥文件夹中新建一个文件data.txt,里面随便写上字符串(helloworld可在是程序员DNA里的)
输入命令 dgst -sha256 -sign key.pem -out signature.bin data.txt 用key.pem文件中的私钥对data.txt文件进行签名生成签名文件signature.bin
dgst -sha256 -sign key.pem -out signature.bin data.txt
如果你报错了,那就赶紧检查一下的data.txt文件存不存在!
5.签名验签输入命令 dgst -verify pub.pem -sha256 -signature signature.bin data.txt 用pub.pem文件中的公钥对data.txt和signature.bin文件进行签名验签
dgst -verify pub.pem -sha256 -signature signature.bin data.txt
执行结果:
Verified OK
如果显示Verified OK,输入命令 base64 -in signature.bin -out signature64.txt 将签名文件signature.bin转换成base64编码的 signature64.txt文件
base64 -in signature.bin -out signature64.txt
注意,这一步可能报错,我也不知道报错的原因是什么,尝试同样的语句再运行一遍就好了。。。很奇怪
输入命令 pkcs8 -topk8 -inform PEM -in key.pem -outform PEM -nocrypt -out keypkcs8.pem 将key.pem文件中的私钥转为pkcs8格式
pkcs8 -topk8 -inform PEM -in key.pem -outform PEM -nocrypt -out keypkcs8.pem
本地自行保存好keypkcs8.pem文件,并将pub.pem、data.txt 和signature64.txt中的全部内容对应复制到上传公钥模式页面的公钥、测试数据和签名数据文本框中进行验证并提交。
如果测试失败请检查使用的算法是否匹配,以及是否将文件中的全部内容复制到文本框中。
三、创建一个泰安链项目
右侧开放联盟链中选择项目管理,点击右上角创建项目。
输入项目名称和选择框架即可。框架选择后不可以更改。
下载接入参数文件以便后续使用。
到目前为止还不是很坑,下一个番外是关于建立你自己的FISCO-BCOS区块链的证书。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)