{"id":24803883,"url":"https://github.com/mosure/bevy_r_place","last_synced_at":"2025-10-23T20:57:02.461Z","repository":{"id":274886565,"uuid":"919592432","full_name":"mosure/bevy_r_place","owner":"mosure","description":"p2p r/place clone","archived":false,"fork":false,"pushed_at":"2025-02-01T20:26:49.000Z","size":48895,"stargazers_count":3,"open_issues_count":5,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-18T21:15:46.517Z","etag":null,"topics":["bevy","canvas","libp2p","native","quic","web","webrtc"],"latest_commit_sha":null,"homepage":"https://mosure.github.io/bevy_r_place?mainnet=true","language":"Rust","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/mosure.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","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,"zenodo":null}},"created_at":"2025-01-20T17:13:58.000Z","updated_at":"2025-02-03T05:11:44.000Z","dependencies_parsed_at":null,"dependency_job_id":"746de627-7391-4776-8363-76529b19e760","html_url":"https://github.com/mosure/bevy_r_place","commit_stats":null,"previous_names":["mosure/bevy_r_place"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mosure/bevy_r_place","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mosure%2Fbevy_r_place","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mosure%2Fbevy_r_place/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mosure%2Fbevy_r_place/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mosure%2Fbevy_r_place/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mosure","download_url":"https://codeload.github.com/mosure/bevy_r_place/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mosure%2Fbevy_r_place/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266187713,"owners_count":23890012,"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":["bevy","canvas","libp2p","native","quic","web","webrtc"],"created_at":"2025-01-30T06:13:44.707Z","updated_at":"2025-10-23T20:57:02.349Z","avatar_url":"https://github.com/mosure.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# bevy_r_place 🖼️\n\n[![GitHub License](https://img.shields.io/github/license/mosure/bevy_r_place)](https://raw.githubusercontent.com/mosure/bevy_r_place/main/LICENSE-MIT)\n[![crates.io](https://img.shields.io/crates/v/bevy_r_place.svg)](https://crates.io/crates/bevy_r_place)\n\n\np2p r/place clone, view the [web demo on mainnet](https://mosure.github.io/bevy_r_place?mainnet=true)\n\n![Alt text](docs/r_place.webp)\n\n\n## features\n\n- [X] local libp2p\n- [X] headless bootstrap node\n- [X] default mainnet and network selection\n- [X] published image\n- [X] LAN auto-discovery\n- [ ] prometheus/opentelemetry metrics /w grafana frontend\n- [ ] swarm visualization\n- [ ] solana implementation\n\n\n## native client\n\n```bash\ngit clone https://github.com/mosure/bevy_r_place\ncd bevy_r_place\ncargo run\n```\n\n\n## host a node\n\nnew nodes will automatically connect to mainnet, to host your own network, specify `--bootstrap-node` flag\n\n```bash\ndocker run ghcr.io/mosure/bevy_r_place:main\n```\n\n\n## metrics\n\n### opentelemetry\n\nsee: https://libp2p.github.io/rust-libp2p/metrics_example/index.html\n\u003e TODO: native client `metrics` feature flag\n\n\n### graph visualization\n\n\u003e TODO: swarm topology viewer\n\n\n## TLS\n\nrequired for proper WSS and WebRTC function\n\n### local setup\n\n- `mkcert -install`\n- `mkcert 127.0.0.1`\n- `openssl x509 -in ./127.0.0.1.pem -outform der -out ./certs/certificate.der`\n- `openssl rsa -in ./127.0.0.1-key.pem -outform der -out ./certs/private_key.der`\n- `cargo run -- --bootstrap --headless --certificate-chain-path ./certs/certificate.der --private-key-path ./certs/private_key.der --webrtc-pem-certificate-path ./certs/webrtc.pem`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmosure%2Fbevy_r_place","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmosure%2Fbevy_r_place","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmosure%2Fbevy_r_place/lists"}