Project

ethscribe

0.01
The project is in a healthy, maintained state
ethscribe - inscription / inscribe (ethscription calldata) api wrapper & helpers for Ethereum & co.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
 Dependencies

Development

~> 4.0
>= 4.0, < 7

Runtime

>= 0
 Project Readme

DISCLAIMER: the rubidity gem version is different from the rubidity built into the facet vm / app and i (Gerald Bauer) am NOT affiliated with facet computing inc. (middlemarch et al) or paid to work on the rubidity gem.

Rubidity & Rubysol - Rubies for Layer 1 (L1) Contracts / Protocols with "Off-Chain" Indexer

This is a rubidity & rubysol sandbox by Gerald Bauer

The idea here is to experiment with rubidity "off-chain" and if time permits break the "majestic rails rubidity monolith" also known as "facet vm" (formerly "ethscriptions vm") up into easier to (re)use modules.

For example, why not bundle up a "core" language "rubidity" gem with no dependencies on any blockchain and break out "core / standard" contracts samples and database (SQL) and runtime modules or such.

Updates

Aside - Rubidity vs Rubysol - What's the difference (in a nutshell)?

The first published modules / gems include:

  • 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

  • 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

  • rubidity ("next") - ruby for layer 1 (l1) contracts / protocols with "off-chain" indexer

  • rubysol - (formerly known as rubidity ("next")) ruby for layer 1 (l1) contracts / protocols with "off-chain" indexer

  • rubysol-contracts - standard contracts (incl. erc20, erc721, etc) for ruby for layer 1 (l1) with "off-chain" indexer

  • uniswap - core uniswap v2 (dumb) contracts for ruby (rubysol) for layer 1 (l1) with "off-chain" indexer

  • programming-uniswap - programming (decentralized finance - defi) uniswap v2 contracts article series, the ruby / rubysol edition

  • punks - 10 000 punks - the facet (dumb) contract edition v1 / v2 (in ruby / rubysol / rubidity)

  • 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.

  • 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.

  • datauris - helpers to parse (decode) and build (encode) data uris incl. base64-encoded images and more

  • calldata - Calldata.encode / Calldata.decode using utf8_to_hex and hex_to_utf8 helpers and more for inscriptions / inscribes for ethereum & co

  • ethscribe - inscription (ethscription calldata) api wrapper & helpers for ethereum & co.

  • scribelite - inscription / inscribe (ethscription calldata) database for ethereum & co; let's you query via sql and more

More:

  • rubidity-simulacrum - run (dumb) blockchain contracts in rubidity (with 100%-solidity compatible data types & abis) on an ethereum simulacrum in your own home for fun & profit (for free)

  • redpaper - Yes, you can. it's just ruby. Run the sample contracts from the Red Paper with rubidity and simulacrum!

  • soliscript (formerly known as rubidity-simulacrum) - run blockchain contracts in rubysol (with 100%-solidity compatible data types & abis) on an ethereum simulacrum in your own home for fun & profit (for free)

  • soliscript.starter (formerly known as red paper contracts) - run (blockchain) contracts in rubysol (with 100%-solidity compatible data types & abis) on an ethereum simulacrum in your own home for fun & profit (for free) incl. the red paper contracts e.g. satoshi dice (gambling), crowd funder, ballot (liquid delegate democracy)

  • rubysol-by-example - Rubysol By Example - an introduction to Rubysol with simple examples (inspired and mostly following Solidity By Example)

  • learninminutes - Learn X in Y Minutes (Where X=Rubysol, Y=?)

For some ongoing (or historic) rubidity discussions & comments from the discord (chat server), see the Changelog - Good Morning.

White Papers

Proof Of Time - "Gas-Less" Decentralized "Turing-Complete" Computing with "Normalized" Timeouts

DRAFT - DRAFT - DRAFT (Version 0.1)

Let's try to square the circle and solve the halting problem of "turing-complete" computing with "normalized" timeouts.

The idea:

Every transaction gets time measured / profiled and if a max time is hit the transaction is halted / stopped and marked as invalid / reverted / aborted.

The problem:

(Compute) Time is relative!

Let's make (transaction processing) time absolute with mathematics / statistics (within a +/- window)...

Read More »

Bonus - More Blockchain (Crypto) Tools, Libraries & Scripts In Ruby

See /blockchain at the ruby code commons (rubycocos) org.

Questions? Comments?

Join us in the Rubidity & Rubysol (community) discord (chat server). Yes you can. Your questions and commentary welcome.

Or post them over at the Help & Support page. Thanks.