V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
alabulei
V2EX  ›  程序员

写 Rust 代码,领树莓派

  •  1
     
  •   alabulei · 2020-07-28 17:12:03 +08:00 · 3425 次点击
    这是一个创建于 487 天前的主题,其中的信息可能已经有所发展或是发生改变。

    创建并发布一个高性能 Node.js 应用程序。开始在个人项目或公司项目中使用”当红炸子鸡“ Rust 吧!

    学习 Node.js 、Rust 、与 WebAssembly 的基础知识,参与活动,你将得到免费的树莓派套件(价值 25 美元)以及一个非常 cool 的证书。

    本活动由 WebAssembly 中文社区与 Second State 联合主办,奖品由 Second State 赞助提供,欢迎在 GitHub 上了解Second State 的 WebAssembly 虚拟机开源项目 SSVM

    关于树莓派与 Rust 、WebAssembly 的结合,下面这篇文章可以帮助你了解更多:

    活动规则

    获得免费的树莓派和证书,只需要你动点心思,自己写一段 Rust 函数。

    具体步骤如下:

    1. 按照 《入门文档:在 node.js 中调用 Rust 函数》 中的示例创建一个简单的 Rust 函数,并在 Node.js app 内运行这个函数
    2. 在 GitHub 上 fork 模板项目并更改其中的 Rust 函数,下面是几个参考示例,或许可以给你带来灵感:

    1 数学教育 web app 2 作为 web 服务的图像识别 3 机器学习和可视化

    就这个应用写一个小结,描述你做了什么,并将你的项目分享到在朋友圈、公司技术论坛、开发者社区如思否、掘金、V2ex 、CSDN 、开源中国等。

    到这里你已经基本完成啦,接下来只需要告诉我们你的成果!

    1. 在 2020 年 8 月 31 日前填写该表单
    2. 根据你所在的城市,我们可能会直接安排发货或请你从电商网站购买套件,我们会给您报销这部分的花费金(最多 25 美金)。

    拿到树莓派后,就可以在树莓派设备上运行 Node.js 服务器和 Rust 函数啦 !

    除了树莓派套件外,您还将获得基于区块链的证书,该证书将永久展示您的成就和开源贡献。证书如下图:

    还在等什么呢?现在就开始吧!

    如果你有任何问题,可以通过 GitHub issues 或添加微信:h0923xw 与我们联系。

    14 条回复    2020-07-29 14:23:21 +08:00
    darksword21
        1
    darksword21   2020-07-28 17:15:37 +08:00
    感觉挺有意思,就是平时没什么时间
    rome7054
        2
    rome7054   2020-07-28 17:21:56 +08:00 via iPhone
    哪一代的 pi
    wdv2ly
        3
    wdv2ly   2020-07-28 17:33:41 +08:00 via Android
    25 刀买不到吧
    yazoox
        4
    yazoox   2020-07-28 17:59:23 +08:00
    Rust 是啥?是那个传说中,要取代 c/c++的语言么?
    binbinyouliiii
        5
    binbinyouliiii   2020-07-28 18:05:30 +08:00
    25 刀,国内买不到,而且是低配
    hardname
        6
    hardname   2020-07-28 18:48:44 +08:00
    准备试试~🤣
    maoxs2
        7
    maoxs2   2020-07-29 00:04:56 +08:00 via Android
    据我所知的 rs 上的 wasm runtime 就已经有 wasmer 和 wasmtime 了,wasmer 起步早社群强,wasmtime 背景强……这个 ssvm 和他们有啥区别?另外现在 wasm 的各种拓展的 proposal 你们是做了哪些的?
    alabulei
        8
    alabulei   2020-07-29 10:05:34 +08:00
    @rome7054 Zero W
    alabulei
        9
    alabulei   2020-07-29 10:06:16 +08:00
    @hardname 来~
    alabulei
        10
    alabulei   2020-07-29 10:48:00 +08:00   ❤️ 1
    @maoxs2 Hi,看来你对 Wasm runtime 还是挺关注的呀。

    是的,不过 Wasm runtime 不止 wasmer 和 wasmtime 还有最大的 v8 以及其他好几个。每个 runtime 的优化点不同,这些 runtime 可以试一下,这也是为什么会有这次活动。

    SSVM 的优化点在于工具、集成与 AOT 。这些都是开发者体验的细节,要自己试了才知道。

    服务端的 performance,SSVM 远远超过 Docker 与其他几个 Wasm,你也可以自己运行一下 benchmark https://github.com/second-state/wasm32-wasi-benchmark

    SSVM 做了 WASI,正式发布的 extensions 都做了的。但是 SSVM 的特点是有非标准的 open source extensions 比如 EVMC, storage interface, AI hardware 等等
    jimliang
        11
    jimliang   2020-07-29 11:51:30 +08:00
    话说我不在 nodejs 里跑这个函数,直接在浏览器跑这个函数可以么?或者封装成某个类来用?
    maoxs2
        12
    maoxs2   2020-07-29 13:52:44 +08:00
    @alabulei 说到 EVMC,我看 Ewasm 里有很多非 Wasm favor 的高级数据类型比如 bytes u256 u128,想问下这些是 ssvm 这层提供的还是说在 wrap EVMC api(hera)实现的?之前我想用 rust+wasm 写点 bytes 这种(wasm-bindgen)发现需要浏览器环境和他们提供的 js 才能运行,否则缺少 import 。直接用 wasm32-unknown-unknown 的 target 又只能 i32 i64 。
    alabulei
        13
    alabulei   2020-07-29 14:22:43 +08:00
    @maoxs2 是用 host function 与 Nodejs 里面用 wasm-bindgen 有点像。在 wasm 里面还是标准的类型。
    alabulei
        14
    alabulei   2020-07-29 14:23:21 +08:00
    @jimliang 要在 nodejs 里用 ssvm 运行 Rust 函数
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2262 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 15:05 · PVG 23:05 · LAX 07:05 · JFK 10:05
    ♥ Do have faith in what you're doing.