mirror of
https://github.com/fluencelabs/fluid
synced 2025-06-23 01:51:32 +00:00
rust-workshop => backend-rust
This commit is contained in:
22
backend-rust/step0-framework/Cargo.toml
Normal file
22
backend-rust/step0-framework/Cargo.toml
Normal file
@ -0,0 +1,22 @@
|
||||
[package]
|
||||
name = "fluid"
|
||||
version = "0.1.0"
|
||||
authors = ["Fluence Labs"]
|
||||
publish = false
|
||||
description = "Decentralized feed built on Fluence"
|
||||
edition = "2018"
|
||||
|
||||
[lib]
|
||||
name = "fluid"
|
||||
path = "src/lib.rs"
|
||||
crate-type = ["cdylib"]
|
||||
|
||||
[profile.release]
|
||||
debug = false
|
||||
lto = true
|
||||
opt-level = "z"
|
||||
panic = "abort"
|
||||
|
||||
[dependencies]
|
||||
log = "0.4"
|
||||
fluence = { version = "0.1.6", features = ["wasm_logger"] }
|
34
backend-rust/step0-framework/run.sh
Executable file
34
backend-rust/step0-framework/run.sh
Executable file
@ -0,0 +1,34 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
mkdir -p wasm
|
||||
|
||||
# Build fluid WASM module
|
||||
echo "Building..."
|
||||
cargo +nightly build --target wasm32-unknown-unknown --release >/dev/null
|
||||
cp target/wasm32-unknown-unknown/release/*.wasm ./wasm/
|
||||
echo
|
||||
|
||||
# Run it all on 30000 port with default Fluence API
|
||||
echo "Running..."
|
||||
docker rm -f frun &>/dev/null || true
|
||||
echo 'docker run -d --name frun --rm -v "$(pwd)/wasm:/code" -p 30000:30000 fluencelabs/frun:latest'
|
||||
docker run -d --name frun --rm -v "$(pwd)/wasm:/code" -p 30000:30000 fluencelabs/frun:latest >/dev/null
|
||||
echo
|
||||
|
||||
# Wait for app to be initialized
|
||||
sleep 1 && (docker logs -f frun 2>&1 &) | grep -q initialized && sleep 1
|
||||
|
||||
# Send our username to the application
|
||||
echo -e "Sending request..."
|
||||
echo "curl -s 'http://localhost:30000/apps/1/tx' --data $'sessionId/0\n'$USER --compressed"
|
||||
echo
|
||||
|
||||
RESPONSE=$(curl -s 'http://localhost:30000/apps/1/tx' --data $'sessionId/0\n'"$USER" --compressed | jq -r .result.data | base64 -D)
|
||||
|
||||
echo -e "$RESPONSE\n"
|
||||
|
||||
# Remove frun container
|
||||
echo -e "Stopping..."
|
||||
docker rm -f frun >/dev/null
|
16
backend-rust/step0-framework/src/lib.rs
Normal file
16
backend-rust/step0-framework/src/lib.rs
Normal file
@ -0,0 +1,16 @@
|
||||
use fluence::sdk::*;
|
||||
use log;
|
||||
|
||||
// Initialize logger
|
||||
fn init() {
|
||||
logger::WasmLogger::init_with_level(log::Level::Info).unwrap();
|
||||
}
|
||||
|
||||
#[invocation_handler(init_fn = init)]
|
||||
fn run(arg: String) -> String {
|
||||
// Log to console
|
||||
log::info!("Hello, {}", arg);
|
||||
|
||||
// Return string back to JS
|
||||
format!("Hello, {}", arg)
|
||||
}
|
Reference in New Issue
Block a user