{"id":15010169,"url":"https://github.com/0xcompute/rubidity","last_synced_at":"2025-04-09T18:04:25.711Z","repository":{"id":34280689,"uuid":"38168836","full_name":"0xCompute/rubidity","owner":"0xCompute","description":"Rubidity \u0026 Rubysol - Rubies for Layer 1 (L1) Contracts / Protocols with \"Off-Chain\" Indexer","archived":false,"fork":false,"pushed_at":"2024-04-04T13:48:23.000Z","size":5878,"stargazers_count":22,"open_issues_count":0,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-01T12:04:29.987Z","etag":null,"topics":["blockchain","crypto","inscriptions","rubidity","ruby","rubysol","solidity","typed","uint256"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/0xCompute.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","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":"2015-06-27T17:28:04.000Z","updated_at":"2024-07-26T09:19:04.000Z","dependencies_parsed_at":"2022-09-13T18:22:06.189Z","dependency_job_id":"677d5ee3-462d-4cd7-947d-9365ef137636","html_url":"https://github.com/0xCompute/rubidity","commit_stats":null,"previous_names":["0xcompute/rubidity","s6ruby/rubidity"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xCompute%2Frubidity","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xCompute%2Frubidity/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xCompute%2Frubidity/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xCompute%2Frubidity/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/0xCompute","download_url":"https://codeload.github.com/0xCompute/rubidity/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248084442,"owners_count":21045125,"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":["blockchain","crypto","inscriptions","rubidity","ruby","rubysol","solidity","typed","uint256"],"created_at":"2024-09-24T19:31:16.312Z","updated_at":"2025-04-09T18:04:25.681Z","avatar_url":"https://github.com/0xCompute.png","language":"Ruby","readme":"\r\n**DISCLAIMER:   the rubidity gem version is different \r\nfrom the rubidity built into the facet vm / app and i (Gerald Bauer) \r\nam NOT affiliated with facet computing inc. (middlemarch et al) or paid to work on the rubidity gem.**\r\n\r\n\r\n\r\n# Rubidity \u0026 Rubysol  -  Rubies for Layer 1 (L1) Contracts / Protocols with \"Off-Chain\" Indexer\r\n\r\n\r\nThis is a rubidity \u0026 rubysol sandbox by [Gerald Bauer](https://github.com/geraldb)\r\n\r\nThe idea here is to experiment with rubidity \"off-chain\"\r\nand if time permits break the \"majestic rails rubidity monolith\"\r\nalso known as \"facet vm\" (formerly \"ethscriptions vm\") up into easier to (re)use modules.\r\n\r\nFor example, why not bundle up a \"core\" language \"rubidity\" gem with \r\nno dependencies on any blockchain and break out \"core / standard\" \r\ncontracts samples and database (SQL) and runtime modules or such.\r\n\r\n\r\nUpdates  \r\n\r\n- What's in a name?  See [What's Rubidity!? What's Rubysol!? »](NAMES.md)\r\n\r\n- For an alternate approach that look's at the \"majestic rails rubidity monolith\" code as-is (that is, not suggesting new or alternate syntax or semantics)\r\nand simply tries to break out and start to (re)package / modular-ize code in \"place holder\" gems (waiting for adoption by the founders) such as 0xfacet and 0xfacet-typed and 0xfacet-rubidity see [Rubidity O.G. (Dumb Contracts) Public Code Review / (More) Tests / Gems \u0026 More »](https://github.com/s6ruby/rubidity.review)\r\n\r\n\r\n\r\nAside - Rubidity vs Rubysol - What's the difference (in a nutshell)? \r\n\r\n- [Rubidity tries to be as close as possible in syntax to solidity](https://www.rubydoc.info/gems/rubidity) and \r\n- [Rubysol tries to be as close as possible in syntax to ruby](https://www.rubydoc.info/gems/rubysol)\r\n\r\n\r\n\r\n\r\nThe first published modules / gems include:\r\n\r\n- ~~**rubidity-typed**~~ - \"zero-dependency\" 100%-solidity compatible data type machinery incl. (frozen) string, address, uint, int, enum, struct, array, mapping, and more for rubidity - ruby for layer 1 (l1) contracts / protocols with \"off-chain\" indexer\r\n\r\n- [**solidity-typed**](solidity-typed) (formerly known as rubidity-typed) -  \"zero-dependency\" 100%-solidity compatible data type and application binary interface (abi) machinery incl. bool, (frozen) string, address, bytes, uint, int, enum, struct, array, mapping, event, and more for solidity-inspired contract (blockchain) programming languages incl. rubidity, rubysol et al\r\n\r\n\r\n- ~~**rubidity (\"next\")**~~ - ruby for layer 1 (l1) contracts / protocols with \"off-chain\" indexer \r\n\r\n- [**rubysol**](rubysol) - (formerly known as rubidity (\"next\")) ruby for layer 1 (l1) contracts / protocols with \"off-chain\" indexer \r\n\r\n\r\n\r\n- [**rubysol-contracts**](rubysol-contracts) - standard contracts (incl. erc20, erc721, etc) for ruby for layer 1 (l1) with \"off-chain\" indexer\r\n\r\n- [**uniswap**](uniswap) - core uniswap v2 (dumb) contracts for ruby (rubysol) for layer 1 (l1) with \"off-chain\" indexer\r\n\r\n- [**programming-uniswap**](programming-uniswap) - programming (decentralized finance - defi) uniswap v2 contracts article series, the ruby / rubysol edition\r\n  - [Programming DeFi in Ruby: Uniswap V2. Part 1](programming-uniswap/part1)\r\n  - [Programming DeFi in Ruby: Uniswap V2. Part 2](programming-uniswap/part2)\r\n  - [Programming DeFi in Ruby: Uniswap V2. Part 3](programming-uniswap/part3)\r\n\r\n\r\n- [**punks**](punks) -  10 000 punks - the facet (dumb) contract edition v1 / v2 (in ruby / rubysol / rubidity)\r\n\r\n\r\n\r\n- ~~**rubidity-classic**~~ - rubidity classic / o.g. contract builder; trying the impossible and square the circle, that is, a rubidity \"classic / o.g.\" dsl builder generating rubidity \"more ruby-ish\" contract classes. \r\n\r\n\r\n- [**rubidity**](rubidity) - (formerly known as rubidity classic) rubidity \"classic / o.g.\" contract builder; trying the impossible and square the circle, that is, a rubidity \"classic / o.g.\" dsl builder generating rubysol \"more ruby-ish\" contract classes. \r\n\r\n\r\n\r\n\r\nMore:\r\n\r\n- ~~**rubidity-simulacrum**~~ - run (dumb) blockchain contracts in rubidity (with 100%-solidity compatible data types \u0026 abis) on an ethereum simulacrum in your own home for fun \u0026 profit (for free)\r\n\r\n- ~~**redpaper**~~ - Yes, you can. it's just ruby. Run the sample contracts from the [Red Paper](https://github.com/s6ruby/redpaper)\r\nwith rubidity and simulacrum!\r\n\r\n\r\n- [**soliscript**](https://github.com/soliscript/soliscript) (formerly known as rubidity-simulacrum) - run blockchain contracts in rubysol (with 100%-solidity compatible data types \u0026 abis) on an ethereum simulacrum in your own home for fun \u0026 profit (for free)\r\n\r\n- [**soliscript.starter**](https://github.com/soliscript/soliscript.starter) (formerly known as red paper contracts) -  run (blockchain) contracts in rubysol (with 100%-solidity compatible data types \u0026 abis) on an ethereum simulacrum in your own home for fun \u0026 profit (for free) incl. the red paper contracts e.g. satoshi dice (gambling), crowd funder, ballot (liquid delegate democracy)\r\n\r\n\r\n\r\n- [**rubysol-by-example**](rubysol-by-example) - Rubysol By Example - an introduction to Rubysol with simple examples (inspired and mostly following Solidity By Example)\r\n\r\n- [**learninminutes**](learninminutes) - Learn X in Y Minutes (Where X=Rubysol, Y=?)\r\n\r\n\r\n\r\n\r\nFor some ongoing (or historic) \r\nrubidity discussions \u0026 comments from \r\nthe discord (chat server), see the [Changelog  - Good Morning](CHANGELOG.md).\r\n\r\n\r\n\r\n## White Papers  \r\n\r\n### Proof Of Time  - \"Gas-Less\" Decentralized \"Turing-Complete\" Computing with \"Normalized\" Timeouts  \r\n\r\nDRAFT - DRAFT - DRAFT  (Version 0.1)\r\n\r\nLet's try to square the circle and solve the halting problem of \"turing-complete\" computing\r\nwith \"normalized\" timeouts.\r\n\r\nThe idea:\r\n\r\nEvery transaction gets time measured / profiled and if a max time is hit the transaction is halted / stopped and marked as invalid / reverted / aborted.\r\n\r\nThe problem:\r\n\r\n(Compute) Time is relative!\r\n\r\nLet's make (transaction processing) time absolute with mathematics / statistics (within a +/- window)...\r\n\r\n[**Read More »**](PROOF-OF-TIME.md)\r\n\r\n\r\n\r\n\r\n## Bonus - More Blockchain (Crypto) Tools, Libraries \u0026 Scripts In Ruby\r\n\r\nSee [**/blockchain**](https://github.com/rubycocos/blockchain) \r\nat the ruby code commons (rubycocos) org.\r\n\r\n\r\n\r\n\r\n\r\n## Questions? Comments?\r\n\r\nJoin us in the [0xCompute discord (chat server)](https://discord.gg/3JRnDUap6y). Yes you can.\r\nYour questions and commentary welcome.\r\n\r\nOr post them over at the [Help \u0026 Support](https://github.com/geraldb/help) page. Thanks.\r\n\r\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0xcompute%2Frubidity","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F0xcompute%2Frubidity","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0xcompute%2Frubidity/lists"}