This project is no longer updated. If you are interested in using javascript, please refer to the wasmedge-quickjs repo
Fork this project to create your own Rust functions as a web service.
src/lib.rs
file.pkg
directory.node node/app.js
command to test the function locally in Node.js.pkg/*.wasm
file to the Second State FaaS service, OR to a Node.js server, to turn it into a web service.It is easy to use our appdev
Docker image to run the dev environment. You can choose from x86_64
or aarch64
versions of the image. Alternatively, you could also use Github Codespaces to run the following example.
$ docker pull wasmedge/appdev_x86_64
$ docker run -p 3000:3000 --rm -it -v $(pwd):/app wasmedge/appdev_x86_64
(docker) #
Use the rustwasmc
command to build the Rust function into a WebAssembly bytecode file.
(docker) # cd /app
(docker) # rustwasmc build
From the first terminal window, start the Node.js application.
(docker) # node node/app.js
From a second terminal window, you can test the local server.
$ curl http://localhost:3000/?name=WasmEdge
hello WasmEdge
Upload the wasm file in the pkg folder to the FaaS. Double check the .wasm file name before you upload.
(docker) # curl --location --request POST 'https://rpc.ssvm.secondstate.io:8081/api/executables' \
--header 'Content-Type: application/octet-stream' \
--header 'SSVM-Description: say hello' \
--data-binary '@pkg/hello_lib_bg.wasm'
The FaaS returns
{"wasm_id":161,"wasm_sha256":"0xfb413547a8aba56d0349603a7989e269f3846245e51804932b3e02bc0be4b665","usage_key":"00000000-0000-0000-0000-000000000000","admin_key":"00xxxxxx-xxxx-xxxx-xxxx-4adc960fd2b8"}
Make a function call via the web.
(docker) # curl --location --request POST 'https://rpc.ssvm.secondstate.io:8081/api/run/161/say' \
--header 'Content-Type: text/plain' \
--data-raw 'Second State FaaS'
hello Second State FaaS
You can easily incorporate this web service into your HTML web pages. See how
Now, you can copy and paste code from this project.
src/lib.rs
--> Replace with code here
Cargo.toml
--> Replace with code here
node/app.js
--> Replace with code here
FaaS deployment: https://github.com/second-state/wasm-learning/tree/master/faas
Node.js deployment: https://github.com/second-state/wasm-learning/tree/master/nodejs
Brought to you by the Open source dev team at Second State. Follow us on Twitter, Facebook, LinkedIn, YouTube, or Medium