{"id":18733181,"url":"https://github.com/bioforestchain/plaoc","last_synced_at":"2025-09-01T01:31:39.158Z","repository":{"id":57752302,"uuid":"489199882","full_name":"BioforestChain/plaoc","owner":"BioforestChain","description":"bfs base runtime app for modern os","archived":false,"fork":false,"pushed_at":"2024-11-13T00:32:30.000Z","size":146347,"stargazers_count":2,"open_issues_count":2,"forks_count":0,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-08-26T07:35:16.424Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BioforestChain.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}},"created_at":"2022-05-06T03:14:55.000Z","updated_at":"2024-12-09T14:25:30.000Z","dependencies_parsed_at":"2023-02-16T03:01:21.473Z","dependency_job_id":null,"html_url":"https://github.com/BioforestChain/plaoc","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/BioforestChain/plaoc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BioforestChain%2Fplaoc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BioforestChain%2Fplaoc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BioforestChain%2Fplaoc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BioforestChain%2Fplaoc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BioforestChain","download_url":"https://codeload.github.com/BioforestChain/plaoc/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BioforestChain%2Fplaoc/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273064206,"owners_count":25039259,"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","status":"online","status_checked_at":"2025-08-31T02:00:09.071Z","response_time":79,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2024-11-07T15:08:57.577Z","updated_at":"2025-09-01T01:31:34.136Z","avatar_url":"https://github.com/BioforestChain.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# bfs 基础操作系统运行时\n\n## 目标\n\n1. 为了解决现代单页应用（SPA）性能不足的问题。\n\n2. 为开发者提供android、ios、桌面应用开发。\n\n3. 为BFS资产的面向角色的编程和开发做准备，为区块链开发搭建社区基础设施。\n\n## 快速开始\n\n见文档：\u003chttps://docs.plaoc.com\u003e\n\n### 项目流程\n\n    dwebView-js-(fetch)-\u003ekotlin-(ffi)-\u003erust-(op)-\u003edeno-js\n    deno-js-(op)-\u003erust-(ffi)-\u003ekotlin-(evaljs)-\u003edwebView-js\n\n## 开发者指南\n\n首先需要构建一个动态链接库。\n\n### 构建动态链接库\n\n\u003e waring 此处需要使用arm64架构的电脑构建，如苹果的M1芯片电脑。\n\n#### 在容器中如何在linux/amd64架构下构建arm64 架构的动态链接库\n\n下面的命令会起一个容器不要杀掉。\n\n```bash\ndocker run --rm --privileged multiarch/qemu-user-static --reset -p yes\ndocker buildx create --name multiarch --driver docker-container --use\ndocker buildx inspect --bootstrap\n```\n\n#### docker编译so\n\n```bash\n# 如果不自己构建可以不运行这一句\ndocker buildx build --platform linux/arm64  -t waterbang/aarch64-linux-android:arm-ndk25-rust1.63.0 .\n# 在plaoc根目录执行\ndocker run -it -v /Users/mac/Desktop/waterbang/project/plaoc/qemu-aarch64-static:/usr/bin/qemu-aarch64-static -v $(pwd):/plaoc  waterbang/aarch64-linux-android:arm-ndk25-rust1.63.0  /bin/bash\n\ncd /plaoc/rust_lib\n\nRUST_BACKTRACE=1 cargo build -vv --target=aarch64-linux-android --release\n```\n\n\u003e qemu在此处有bug，会吃掉虚拟机的所有内存和cpu。\n\n### 测试（现在只提供vue3）\n\n如何测试\n\n```bash\n# 前端\ncd test-vue3\n\nyarn install\n\n# 后端\ncd test-vue3/bfs-service\n\nbfsp init\n\nbfsp dev\n\n# 前端上传到android\nyarn build\n\n# 后端上传到android\nnode test-vue3/bfs-service/copy.cjs\n\n#后续封装成.bfsa\n```\n\n### plaoc\n\nBFS 启动\n\n```bash\ncd plaoc\n\nbfsw init\n\nbfsw dev\n```\n\n#### 前端包 @bfsx/plugin\n\nAPI见文档：\u003chttps://docs.plaoc.com\u003e\n\n#### 后端包 @bfsx/core,@bfsx/metadata\n\nAPI见文档：\u003chttps://docs.plaoc.com\u003e\n\n### 如果修改了rust代码，需要重新编译\n\n首先要保证一下文件存在,点击下载[librusty_v8_release_aarch64-linux-android.a](https://github.com/waterbang/rusty_v8/releases),\n[librusty_v8_release_x86_64-apple-darwin.a](https://github.com/denoland/rusty_v8/releases)\n\n\u003e 1. rust_lib/assets/rusty_v8_mirror/v0.48.1/librusty_v8_release_aarch64-linux-android.a\n\u003e 2. rust_lib/assets/rusty_v8_mirror/v0.48.1/librusty_v8_release_x86_64-apple-darwin.a\n\n```bash\ncd rust_lib\n\ncargo build --target=aarch64-linux-android --release\n```\n\n### android\n\n查看rust_lib/README.md\n\n直接在android上运行，以上可能有路径问题，记得切换为自己的路径，deno-rumtime 遇到问题，详情查看 `/rust_lib/scripts.md`。\n或者[这里](https://www.waterbang.top/2022/08/08/BFS%E5%BC%80%E5%8F%91%E9%97%AE%E9%A2%98%E6%B1%87%E6%80%BB/).\n\n### ios\n\n### desktop\n\n### 目前规划\n\n    [😃] 前端和后端使用二进制互传数据\n    [😃] 修改 webComponent 的 javascriptinterface 注入的方式\n    [😃] 封装.bfsa 文件，实现应用安装到设备。\n    [🥳] 封装系统级服务，编写基础测试代码。\n    [🥳] 封装文件系统，权限系统和网络系统\n    [🥳] 规范多个 DwebView 之间数据互动的标准\n    [🥳] 规范多个 后端服务（deno-js）的数据互动标准\n    [❌] 迁移碳元域\n    [❌] 优化代码的封装，契合面向角色编程。\n    [❌] 编写单元测试代码，覆盖率需要达到90%。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbioforestchain%2Fplaoc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbioforestchain%2Fplaoc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbioforestchain%2Fplaoc/lists"}