{"id":13484743,"url":"https://github.com/skanehira/chibiwasm","last_synced_at":"2025-06-17T11:38:09.501Z","repository":{"id":89664459,"uuid":"548841398","full_name":"skanehira/chibiwasm","owner":"skanehira","description":"A small Wasm Runtime","archived":false,"fork":false,"pushed_at":"2024-04-22T09:31:18.000Z","size":8048,"stargazers_count":160,"open_issues_count":1,"forks_count":10,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-05-02T02:28:54.954Z","etag":null,"topics":["rust","wasm"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/skanehira.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-10-10T09:10:27.000Z","updated_at":"2024-06-01T04:47:03.250Z","dependencies_parsed_at":"2023-12-24T08:28:38.383Z","dependency_job_id":"4ffc259c-2111-493b-82ec-119d8ecb9fb6","html_url":"https://github.com/skanehira/chibiwasm","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/skanehira/chibiwasm","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skanehira%2Fchibiwasm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skanehira%2Fchibiwasm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skanehira%2Fchibiwasm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skanehira%2Fchibiwasm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/skanehira","download_url":"https://codeload.github.com/skanehira/chibiwasm/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skanehira%2Fchibiwasm/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260350313,"owners_count":22995735,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["rust","wasm"],"created_at":"2024-07-31T17:01:32.193Z","updated_at":"2025-06-17T11:38:04.485Z","avatar_url":"https://github.com/skanehira.png","language":"Rust","funding_links":[],"categories":["Rust"],"sub_categories":[],"readme":"# chibiwasm\nThis repository was created for the purpose of learning how Wasm works.\nPlease do not use it in production.\n\nIf you want to learn how Wasm runtime works, I recommend this book :)\n\nhttps://skanehira.github.io/writing-a-wasm-runtime-in-rust/\n\n## Usage\n```sh\n$ cat\n(module\n  (func $add (export \"add\") (param i32 i32) (result i32)\n    (local.get 0)\n    (local.get 1)\n    (i32.add)\n  )\n)\n$ wat2wasm add.wat\n$ cargo run -- add.wasm add 1 2\n    Finished dev [unoptimized + debuginfo] target(s) in 0.09s\n     Running `target/debug/chibiwasm add.wasm add 1 2`\n3\n```\n\n## Use as a crate\n\n```rust\nuse chibiwasm::{Runtime, Value};\n\nfn main() -\u003e anyhow::Result\u003c()\u003e {\n    let mut runtime = Runtime::from_file(\"examples/fib.wasm\", None)?;\n    if let Some(output) = runtime.call(\"fib\".into(), vec![Value::I32(10)])? {\n        println!(\"output: {}\", output);\n    }\n    Ok(())\n}\n```\n\n```sh\n$ cargo run -q --example fib\noutput: 89\n```\n\n## Test\n```sh\n$ cargo make test\n```\n\n## Spec\nBase on core 1.\n\nhttps://www.w3.org/TR/wasm-core-1/\n\n# tests\nThe list is base on https://github.com/WebAssembly/spec/tree/wg-1.0/test/core\n\nNOTE: Checking only the test cases that have passed both assert_return and assert_trap.\n\n- [x] address.wast\n- [x] align.wast\n- [x] binary_leb128.wast\n- [x] binary.wast\n- [x] block.wast\n- [x] br.wast\n- [x] br_if.wast\n- [x] br_table.wast\n- [x] break_drop.wast\n- [x] call.wast\n- [x] call_indirect.wast\n- [x] comments.wast\n- [x] const.wast\n- [x] conversions.wast\n- [x] custom.wast\n- [x] data.wast\n- [x] elem.wast\n- [x] endianness.wast\n- [x] exports.wast\n- [x] f32.wast\n- [x] f32_bitwise.wast\n- [x] f32_cmp.wast\n- [x] f64.wast\n- [x] f64_bitwise.wast\n- [x] f64_cmp.wast\n- [x] fac.wast\n- [x] float_exprs.wast\n- [x] float_literals.wast\n- [x] float_memory.wast\n- [x] float_misc.wast\n- [x] forward.wast\n- [x] func.wast\n- [x] func_ptrs.wast\n- [x] globals.wast\n- [x] i32.wast\n- [x] i64.wast\n- [x] if.wast\n- [x] imports.wast\n- [x] inline_module.wast\n- [x] int_exprs.wast\n- [x] int_literals.wast\n- [x] labels.wast\n- [x] left_to_right.wast\n- [x] linking.wast\n- [x] load.wast\n- [x] local_get.wast\n- [x] local_set.wast\n- [x] local_tee.wast\n- [x] loop.wast\n- [x] memory.wast\n- [x] memory_grow.wast\n- [x] memory_redundancy.wast\n- [x] memory_size.wast\n- [x] memory_trap.wast\n- [x] names.wast\n- [x] nop.wast\n- [x] return.wast\n- [x] select.wast\n- [x] skip_stack_guard_page.wast\n- [x] stack.wast\n- [x] start.wast\n- [x] store.wast\n- [x] switch.wast\n- [ ] ~~token.wast~~\n- [x] traps.wast\n- [x] type.wast\n- [x] unreachable.wast\n- [ ] ~~unreached_invalid.wast~~\n- [x] unwind.wast\n- [ ] ~~utf8_custom_section_id.wast~~\n- [ ] ~~utf8_import_field.wast~~\n- [ ] ~~utf8_import_module.wast~~\n- [ ] ~~utf8_invalid_encoding.wast~~\n\n## LICENSE\nThis software includes the work that is distributed in the Apache License 2.0.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskanehira%2Fchibiwasm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fskanehira%2Fchibiwasm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskanehira%2Fchibiwasm/lists"}