记一次探索SSVM的艰辛小路程

WASM中文社区发起了一个《学 Rust,免费拿树莓派》的活动,正好近期在学习Rust语言,对WebAssembly也兴趣正浓,正好借此机会更多的了解下这一技术组合。

活动的要求是学习 Node.js、Rust、与 WebAssembly 的基础知识,然后利用这些基础知识,以ssvm-nodejs-starter这个项目为基础,创建一个自己的项目。

现根据教程 《入门文档:在 node.js 中调用 Rust 函数》 先学习了解一遍基础知识,然后开始自己的项目。

根据教程很顺利的完成了示例项目的编译,并且能成功的跑起来。期间注意在ssvm编译的时候,需要科学上网后进行。

坑一:WebAssembly对本地文件的操作

当看到这个题目的时候,我第一个想法就是可以和现在正在学习的Substrate结合起来,做一个可以用web端控制Substrate区块链的小程序。

但通过一番调研发现,WebAssembly对本地文件和命令行的调用很难实现,经过一番折腾后放弃。

坑二:WebAssembly对Rust-Crypto的支持

经过一番折腾放弃第一个想法后,已经是凌晨了,我就想简化一下项目,简单的做一个对称加密程序,用get请求简单的发送一个文本和密码,然后进行加密。同时可以发送密文和密码进行解密。
Rust-Crypto作为rust中最常用的一个密码学实现,当然是我的第一选择,遂引入依赖后开始埋头写代码,然后基本框架写完后,第一次编译就傻眼了,编译遇到各种问题。
编译错误一窥经过一番检索,发现Rust-Crypto不支持WebAssembly,有一个WASM-Rust-Crypto的项目,也还处于刚起步阶段,基本不能用。

最终成果

用现成库的想法也不行了,只能想的自己先简单的写一个加密解密的小程序。
我主要想满足的是发送一小段问题,可以加密,同时发送密文和密码就可以解密。

有了前面教程学习的基础后,写起来还是很顺利的,最终效果如下。
最终成果代码我传到的github上,作为一个菜鸟肯定漏洞百出,欢迎大家来批评指正。

同时这个项目现在还有一个问题没有解决,今天太困了,先睡了,明天在解决。
明天解决

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值