#Digicus - Scratch for smart contracts

1 messages · Page 1 of 1 (latest)

old seal
#

[One Sentence Summary]: Digicus, Scratch (https://scratch.mit.edu/) for smart contracts, simplifies contract creation & modification via an intuitive, Lego-like graphical interface.

[Longer Summary]:

While smart contract development on Stellar has taken many leaps forward since I wrote about it six years ago, the barriers to entry are still numerous... it's an intimidating field only the most technically savvy (or at least the most curious learners) can break into. Put simply, developing smart contracts is hard.

Specifically:

  1. While Rust (the most well supported Soroban SDK) is one of the most admired languages, it is far from one of the most popular.
  2. More mature and seasoned smart contract platforms are complicated and error prone.

Thus, how can we help existing developers succeed? Even more importantly, how can we lower the barrier to entry for community new comers? And as a stretch, how easy can we make it for non-technical folks to participate and even create their own smart contracts?

Digicus seeks to solve this problem via a visual, block-based programming environment with an intuitive UI and thoughtful guardrails to enable a greater community of innovators to develop, interact with, and understand Soroban smart contracts. This tool will serve as an onboarding companion for technical newcomers, the first step for non-technical folks, and an interesting, insightful visual for existing community members to the Soroban ecosystem.

[Useful Links]:

[Why Digicus?]: a digicus is a hybrid Soroban/digital calculator (https://retrocalculators.com/digicus.htm)

#

Today we're pleased to share we're about half way to acheiving our first deliverable as per our original submission:

[Brief description]: minimum viable, publicly accessible IDE (browser based) which can ingest and visualize smart contracts written in Rust (contracts will be read-only)

[How to measure completion]: using Soroban sample contract repository(s) as the corpus, we should be able to translate all of these from Rust to DTR (intermediate representation format for Digicus) and back to Rust. Then we should be able to execute the existing test suite against the re-generated Rust contracts, proving nothing was altered. If the tests pass, this is a success. Furthermore, we should be able to visualize all of these contracts in a comprehensible way.

At this point we've stood up the service, made good progress on the Rust to intermediate representation language (Digicus Textual Representation), and began very basic visualization of these blocks as a control flow graph.

To demonstrate, I've attached a screen recording of myself uploading the custom_types example contract (https://github.com/stellar/soroban-examples/blob/main/custom_types/src/lib.rs) to the live website (digicus.dev). Here I upload the contract and then briefly show the resulting blocks (visualized as control flow for now). I also show that we picked up the user defined types and the state.

This is simply an end-to-end, proof-of-concept demo. As we progress, we'll continue iterating on the UI, building out our Rust to DTR (and DTR to Rust) compilers, etc.

#

Digicus - Scratch for smart contracts

fiery gazelle
#

Hi @old seal, as someone who has personally struggled to grasp Rust, I am very appreciative of this project. I’m curious, how has your experience building on Soroban been so far?

I’m with Aha Labs and we’re looking for devs to beta test our new Soroban smart contract SDK called Loam: https://github.com/loambuild/loam-sdk. Loam was our submission in SCF #24.

The goal with Loam is to remove the tedious bits of smart contract development with subcontracts - reusable, composable and upgradeable components that scale.

In addition to Loam, our team is made up of major Soroban contributors who are happy to advise or help troubleshoot any issues you’re having with your existing set up.

Let me know if you’re interested in participating in the beta and/or would like to talk more about how we can be of service.

old seal
#

Hey @fiery gazelle this looks awesome. We're cranking! It's been a pleasurable development experience thus far. Would love to learn more. Mind DM'ing me so we can find a time to chat?

fiery gazelle
#

Just DM'ed you to set up a time

old seal
#

[06/15/24 update]: we've now hit 70% of our Activation Award deliverables!

We are still on track for a SCF#29 submission to support further development towards a 1.0 IDE that enables Digicus native contract creation, a template explorer for bootstrapping, and much more. The Activation Award stage is the proof of concept to get something in the hands of developers... the next stage is when things will get really interesting! We look forward to your continued support.

old seal
#

@jaunty vigil

old seal
#

[06/19/24 update]: some progress on making the generated Rust code a bit cleaner. Not necessary for the Activation Award deliverables, but hey, in Rust we love our chained method calls... so took some time today to begin cleaning this up.

What was it like initially? Consider this expression:

env().storage().foo(10).bar()

Heavily inspired by the three address code intermediate representation format, I'd end up with DTR that's a bit like this:

{ instruction: evaluate, input: (env), assign: A }
{ instruction: evaluate, input: (A.storage), assign: B }
{ instruction: evaluate, input: (B.foo, 10), assign: C }
{ instruction: evaluate, input: (C.bar) }

Thus, a naive generation of Rust would result in:

let A = env();
let B = A.storage();
let C = B.foo(10);
C.bar()

This is technically correct but not pretty. The now "optimized" (or rather just cleaned up) generation is as you'd expect:

env().storage().foo(10).bar()

Check out a demo video here from the the IDE (prod it turns out is now a few deploys behind... so it likely won't quite if you try there at this very moment, apologies). In this video I uploaded the increment contract example and then switch from the original code to the generated code. Don't forget that what is happening here is I transpile from Rust to DTR and then back to Rust (hence the underlying technical challenge).

Cheers!

light knoll
tranquil pagoda
#

Looks really cool, looking forward

old seal
humble ibex
old seal
#

[06/24/24 update]: we've completed our second deliverable!

Brief description: introduce limited modification capabilities to Digicus, allowing folks to begin "implementing" small details to Soroban smart contracts directly from the Digicus IDE. Here we will support actions like changing values. Drag and drop is outside the scope of this deliverable and the activation phase of SCF.

How to measure completion: a specific milestone is to take the "hello world" smart contract, compile it to Digicus, change to "hello world from Digicus", compile it back to Rust, then deploy it to the futurenet.

Here in this video you can see that we:

  1. copy the hello world example contract and then compile and execute hello() in Okashi
  2. take the contract and paste into a file so I can upload to Digicus
  3. upload to Digicus and view the rendered contract
  4. edit the contract (name, function name, function input)
  5. save the modified contract to a rust file
  6. compile and execute the modified contract in Okashi
old seal
#

[07/01/24]: walked through how we support looping in DTR. Took some iterating to get there, but we landed on a pretty reasonable solution: https://spaced-out-thoughts-dev-foundation.github.io/2024/06/27/loops.html

old seal
#

[07/03/04]: let-else is a fairly weird Rust construct introduced as syntactic sugar for a common match expression. I'd never seen this before and it took some thinking and a pad of paper to come up with a way to represent this in DTR. Ended up leveraging the try_assign evaluation method we'd introduced to solve if-let... which makes sense given the RFC for let-else states:

[let-else] is the counterpart of if-let expressions

Wrote this solution up in a blog post for anyone interested: https://spaced-out-thoughts-dev-foundation.github.io/2024/07/03/let-else.html

old seal
#

Initially our backend server hosting the digit compiler consisted of a couple servers (serverless on vercel) that had hardcoded versions of each compiler plugin, isolated per langauge (so one hosted rust compiler plugins, one hosted ruby). We've since just stood up a more mature and flexible backend which leverages our compiler plugin module library (called bean stock) on a single server. More flexible. Better adherence to our vision.

Cleaner architecture FTW.

P.S. yeah that barebones HTML table isn't very sexy... it's a WIP 🤣

old seal
#

[07/08/24]: Performance testing the compiler plugins. Guess which is the rust binary...

#

Doing the "well what if I used the highest tier hardware"... yeah I need to optimize the code. $300/month hardware still way too slow.

old seal
#

[07/09/24]: Interested in how we might translate branching logic in DTR to Rust? Just penned up a blog post to explain.
https://spaced-out-thoughts-dev-foundation.github.io/2024/07/09/dtr_to_rust_branching.html

old seal
tepid trail
#

@old seal this is a promising project I'll need to know more about it as a blockchain developer 🚀

Can I DM to chat?

old seal
#

Certainly. Welcome and thanks for taking the time to check out Digicus!

old seal
#

[07/14/24]: Update: just submitted for the Community Award round for SCF #29. Super excited to demo what we've accomplished and detail the next stages of this work. If you're interested in a sneak peak, here is the video I submitted as part of the application: https://www.youtube.com/watch?v=NhFTr5Cj4lU

old seal
tepid trail
#

@old seal I'm really excited about this project

I'm volunteering to be a community manager for your project

old seal
#

Thanks for you interest. However we’re not looking for a community manager at this time.

old seal
#

[07/16/24]: a little perf testing. Still much slower than I'd like. Decided to tradeoff performance for flexibility. Went a tad bit too far towards to flexibility side. Really wish I could construct binaries for Ruby... the Rust binary compiled as so is SO MUCH FASTER 🚀

old seal
#

[07/17/24]: ahhh, so just use gems they said. It will be faster than the dumb hackery you were doing before they said.

#

Moving back to commodity hardware 🔥

old seal
#

[07/18/24] Added a popup when the user first visits. Will eventually move towards a tutorial, but figured this should suffice for now (and is 1000x better than no instructions at all...).

old seal
#

A reminder that our demo version is live! Take a peak and lmk what sucks, what's cool, and what makes you stop and think.
Link: https://www.ide.digicus.dev/

old seal
#

[07/20/24]: Super excited to demo a sneak peak of our contract wizard 👀 ... technically this is a deliverable for the next SCF phase, but hey, we're on a roll!

old seal
#

Hey folks! Digicus, developed and maintained by the Spaced Out Thoughts Development Foundation, is beginning the work to transition from an informal entity to a DAO. We believe this move will enhance our development efforts by incentivizing contributions from non-core developers and establishing clear processes for ongoing financial support.

Given Soroban's recent launch, there is limited precedent for DAOs on this platform. As a result, we anticipate some challenges as we embark on this journey and learn along the way.

For more details, please refer to the overview document, which gives a brief sketch of our initial plan: (https://spaced-out-thoughts-dev-foundation.github.io/dao/).

Feel free to reach out to me via DM with any questions or suggestions.

old seal
old seal
visual elk
#

The universe has brought me here 😂

visual elk
#

@old seal kindly check your DM

old seal
#

Will do - was just about to respond!

jolly pike
#

Digicus is looking great!

old seal
#

[07/25/24] To reiterate our pitch yesterday, we're thinking of a multi-tier heirarchy for the DAO:

  1. core (foundational with stake)
  2. foundational (ad hoc with voting)
  3. ad hoc (contribuition awards only)
#

There are two resources that help our organization:

  • time
  • money

Time contributions are more heavily weighted in terms of stake and voting. To contribute time, one performs work. Not all work is technical. We need design, product, community management, etc.

jolly pike
#

What is your tokenomics look like

#

WEn Mint

old seal
#

This is a work in progress. Any folks here I can chat with that have experience in this realm? @jolly pike

jolly pike
#

Let's talk. I am trying to think of his name bc my mind went blank but the fxdao guy

#

wow why i can't remember his name

#

@quasi axle omg it took me a long time to find you

#

lol

#

I kept searching by your name not your name oops

#

also @signal arrow

#

There are many people here interested in governance btw

#

too many for me to tag them all lol

#

we made this new channel #🔹|dao

old seal
#

Yes! Let's use the DAO channel if possible.

#

Thanks for your insight here @jolly pike

covert turtle
#

Hello @old seal does your new submission deliverables include video tutorials, workshops, and being more involved with the devs community?

old seal
#

@covert turtle Yes, all the above. Especially since we've now got something folks can get their hands on now, we launched the alpha earlier this month (the activation award round was largely a POC/MVP where we focused on the foundational backend - also noted in our presentation was our ongoing hiring efforts to onboard someone to aid in design, while we've got something usable, we want it to be much better!).

I did not explicitly state this in the deliverable section of our application, my bad; there I mentally separated the feature deliverables from the onboarding/traction deliverables. We did however present an overview as part of the pitch last Wednesday.

Stated briefly:

We’ve identified four user types based on engagement and experience, tailoring our messaging to each. These are:

  1. newcomer + passively engaging
  2. newcomer + actively engaging
  3. experienced + passively engaging
  4. experienced + actively engaging

See image attached of how we'll address each audience (unfortunately my Google slides are broken, so screenshotted the presentation video).

As a very simple example of what is to come in terms of content, I wrote out a blog post (https://medium.com/p/e20c0438dabc) and have started blogging on our website as well (https://spaced-out-thoughts-dev-foundation.github.io/blog/).

I also have experience engaging with folks in a workshop/tutorial capacity from my time organizing the SF Cryptocurrency Developer Meetup (defunct now, but from when I helped organize from '18-'19 we were the largest such dev meetup in SF w/ attendance typically >100 per Meetup IIRC) which will be useful as I engage with the dev community.

Finally, we are planning a build challenge of sorts which will leverage the tooling we're building here. This is largely a WIP and is planned for this winter.

#

Thanks for your engagement here @covert turtle ! Please let me know if you have any further questions.

old seal
old seal
#

Deployed the basic Github Oracle Server to maintain a list of repo names to sync with. Got a dash and monitoring too.
Link to "what we're sinking too" (literally json response): https://github-oracle.digicus.dev/
Contract: https://stellar.expert/explorer/public/contract/CCYCDOIZPFTKQGYTOBA7XMIVBJNDSSHENBDORFW43TN2S4XBOV3POJBM

old seal
old seal
#

[08/01/24] some exciting news… we’ve found a product and community agency to work with and are ready to sign them on!! As we laid out in our SCF#29 proposal and in our pitch, this is a key part of our fund allocation. Hoping for some good news in the next week or two so we can move forward with this agency and really, truly elevate Digicus to a top tier onboarding and developer tool for the Soroban ecosystem.

old seal
#

[08/02/24] our issue and repository server has been successfully syncing to the deployed main net contract for over 24 hours now! Hooked up to Datadog so we’re monitoring it closely (with alerts firing to our internal Discord channel).

Next step is to allow folks to register their GitHub usernames such that we can map keys to stellar addresses and properly set the “claimed” field. Stay tuned!

With good progress on the oracle (which will power the contribution functionality of our DAO) and a potential hire ready to sign on for product and community, we’re already making some solid progress towards the foundation aspect of our deliverables outlined in our SCF #29 proposal 🚀

silk terraceBOT
old seal
old seal
#

👀🚀

jolly pike
#

Pitching hoops?

old seal
#

Are we co-pitching? 😆

jolly pike
old seal
#

[08/06/24] First experimental POC of our Github Oracle live on mainnet with 100% uptime this past week. Leveling out to a cost of ~3 XLM/day and that's with some very low hanging fruit to optimize away. Definitely ran into some some challenges (i.e. String concatenation ⁠Handling string concatenation i…, formatting cli commands ⁠🔹|developer-chat⁠, etc.) but overall, great dev experience so far 🔥

Planning a refactor this weekend to:

  1. optimize the way we store data (we started as dumb as possible lol... but walk, crawl, run right?)
  2. allow folks to "register" Github keys
  3. with (3) begin marking issues as claimed

On top of all this, we plan to begin thinking about how to decentralize this. While it is easy to create a centralized oracle, IDK why anyone would trust me 😆 so... let's do this correctly.

old seal
#

[08/09/24] Doing some drafting of our DAO. In the meantime, we are performing a poll on DAO contribution rewards. If you have a Twitter account and 5 seconds, would love your feedback!
https://x.com/spacedOutDevFnd/status/1821893863965126908

We're working on a first draft of our DAO, a project which we believe will enable the long term sustainability of Spaced Out Thoughts. A key part is rewarding contributors for their work (hence the Github Oracle). How would you like to be rewarded?

old seal
#

[08/10/24]: small sample size but results of survey from the other day. Interesting, pretty mixed across the board. That combined with the insightful feedback from the Orbit folks @next temple and @civic root… don’t think I’m any closer to a conclusion here 🤣.

#

Right now working on design of our decentralized oracle network. Will base on existing successful models like chainlink and reflector. Already have to verbally committed organizations willing to join. Super excited! Stay tuned for more.

old seal
#

[08/11/24]

Big update today 7907win11emojipartying

  1. [DAO] Working through drafts of how the Github Oracle will work and interact with the DAO. See the image here for a preview. Speaking with @jolly pike, I began outlining some ideas around reputation and we realized there is quite a bit of overlap with the goals of Spaced Out Thoughts DAO and CommuniDAO. We're planning on syncing up on this at the end of the month once I am back from vacations (and have a draft on how decentralized oracle network consensus might work).

  2. [Infra changes] Also, looking to potentially self host some of our services. We'll see how long this is viable, but have some unused computing resources laying around... Hooked up what we could to Datadog to monitor. Quite easy (see image 2).

  3. [DON] We're also up to 3 verbally comiitted organizations interested in joining the DON on launch. Looking to make a raspberry pi plug-n-play solution for some of the less technical folks (the pit of success is a key tennat of our org https://blog.codinghorror.com/falling-into-the-pit-of-success/).

  4. [Meridian] Finally, we booked our tickets and accepted our speaking position for Meridian.

Exciting times!

old seal
#

[08/14/24] in order to practice running validators (more on that soon), we stood up an instance of Soroban RPC on our self hosted machine, enabling us to keep the oracle server (super naive, like embarassingly naive v1) executing totally within our own resources. Pretty neat. It even was picked up by stellarbeat as a watcher node: https://stellarbeat.io/nodes/GC4AZNUDBHEHAQBROATH6VSOZWIV3XQWAAUIEZAM7POUJFJNILNBUKI3?center=1. Has been running for ~8 hours now (image 1) and even with a memory boost we're 100% pegged 😆 (image 2)

old seal
#

[08/16/24]: last update before heading out for vacation for a week with family. Ordered the initial hardware build out for our plug and play decentralized oracle nodes. Going to have to be a real engineer and use a real language like C++/Rust (not Ruby 🤣) to keep the memory footprint down since I'll have just 1gb ram (which should be super easy... again especially if not using some memory hog of a web framework). Won't be online rest of week, but carrying a notebook around with me to work on the specification for the Decentralized Oracle Network nodes and also our DAO. Technically speaking shouldn't be too complex to implement (famous last words) but that being said, if well specified, it will be even easier (and we can put up a spec for others interested in following along).

Hope everyone has a great week!

old seal
stark sluice
#

hello @old seal

#

nice to meet you
i am a senior full stack and blockchain engineer with rich experience
could you please give me a chance to work with you? @old seal

old seal
#

Hey! We’re currently working on a DAO that will make it easy for folks to contribute and be rewarded in a timely, efficient, and transparent way. Please stay tuned!

stark sluice
old seal
#

As stated, once we have the DAO launched, anyone can contribute. Expect to hear more about these opportunities in the next couple months.

stark sluice
old seal
#

Id recommend reaching out to the SCFGeneral channel in the meantime.

old seal
#

[08/23/24] the first version of our plug and play oracle node case arrived and so while I’m still mostly AFK and on vacation, work has begun!

Stoked about the look 🔥🚀

old seal
#

[08/26/24] we applied for the Validator grant, however in the interim we ordered some parts to get an old custom build laying around up to spec for running a validator. A single node won't make us a tier 1 org (again, hopefully we hear back on the validator grant soon), however we hope to begin to demonstrate (a) our ability to operate a service and (b) our commitment to the decentralization and longevity of the network. The parts show up today... so hopefully by EOD we will be up and running. Stay tuned! Will post stellarbeat.io link here when things are rolling.

old seal
old seal
#

Please don't spam every project.

old seal
#

[09/05/24]: hey folks! Been a little while since the last update. Still syncing up our first validator. Just over 1/3 of the way… wow takes a while for full catch-up. Rest of the hardware showed up yesterday. We’re thinking of waiting for the first node to sync and then building the other archives from that as other folks have recommended.

Sporadic work here and there on our DON nodes and the underlying protocol. Been pretty busy with life and what not lately but good progress there nonetheless. Nodes for plug-n-play designed and hardware also arrived this week.

Onward and upward!

old seal
#
"startedOn" : "2024-08-27T17:53:00Z",
      "state" : "Catching up",
      "status" : [
         "Catching up to ledger 53225663: Download & apply checkpoints: num checkpoints left to apply:402630 (50% done)",
         "Publishing 2146 queued checkpoints [27320063-27457343]: update-archives-01a0deff:uploading files"
      ]

Getting closer 🙏

#
➜  ~ df -h
Filesystem                         Size  Used Avail Use% Mounted on
tmpfs                              9.5G  1.7M  9.5G   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv  3.6T  486G  3.0T  14% /

At almost 0.5T

#

Based on this I'd expect 2 more weeks?

old seal
#

[09/13/24] Well life got exceptionally busy as of late, so it's been an hour here, an hour there. Working on syncing our nodes still (one is at ~61% full catchup!) and the decentralized oracle network. Apologies for the slow updates! Things should normalize soon here.

old seal
#

[09/14/24] Saturday spent reconfiguring the physical node hardware (except for my node doing a full catchup...). Full catchup node is at 62% and 43% disk. Will probably need to add disk while the node is running here. Have a 1tb sata I can wipe. Unsure if I can reconfigure while stellar-core runs 🤔

old seal
limpid garnet
#

Hey @old seal 👋 @jolly pike just pointed out to me that you have a GitHub oracle! That sounds very interesting to me and I would like to know more about it. I saw earlier posts with a link to an app but seems like it has moved. Do you have another deployment or some doc I could go through? My project is https://discord.com/channels/897514728459468821/1262501866915237908

old seal
#

Hello @limpid garnet! Yeah still in the design phases. I have a bunch of notes locally I have not yet pushed to github.

For a proof of concept we deployed this oracle contract (https://github.com/spaced-out-thoughts-dev-foundation/github_oracle) which was basically just a map of github repos to issues. I ran the oracle (https://github.com/spaced-out-thoughts-dev-foundation/github_oracle_server) which kept it in sync fo ~1-2 weeks, just running every 15-30 min and syncing with Github. If that's all you need, not too hard.

What I am working on designing now is much more complex in order to achieve decentralization. To do this I am:

  1. working on a decentralized oracle network
  2. redefining what "work" means. Initially I was just thinking Github issues but I don't like a centralized source like that... so I am brainstorming ways to leverage git instead such that Github is just "one way of surfacing this info"

(1) isn't really too hard. I have the basics of a gossip network and have pen and paper designs for consensus (based on threshold keys like what Orbitlens is doing for Reflector and what Chain Link does).

Where I am really spinning my wheels is defining what work is. Have some ideas of minimal work (sponsor, description, link, reward). Largely a WIP there.

limpid garnet
#

Nice 👍 Yeah I also don't like the centralization around GitHub and this was the starting point for my project too. On my side I am just storing a hash for a project, not much more. I was thinking about issues and other metadata, but that's quite heavy in terms of storage.
I will look at your oracle repo 🙂

old seal
#

Awesome - I'd love to learn more about what you're thinking. Also, TBH it'd be useful eventually to have a more generic oracle network.

#

On that note, I might actually just land on some data that is super easy to like the weather in san francisco.

#

Then you can abstract over the data that is saved (in some way) and leverage the strength of the network to employ decentralization for whatever data you desire 🤔

#

I have a couple folks who are interested in running these nodes already, just need to finish the software so I can ship the plug and play hardware I came up with

limpid garnet
#

That would be amazing! I had made a similar request for Reflector as I think this is something really missing right now with Oracles (not just on Stellar, but any chains.) Everyone is always talking about things like that but in the end we just end up seeing oracles for prices.
I would love to have a generic oracle so we can push things like scientific data. (I had a wild idea which would have used this, link for the joke 😅 though half a joke if I find someone to work on it haha https://github.com/tupui/soroban-seal-coin)

#

For what I am building, happy to make a session. Otherwise I will try to be at the next community of the mind call to show Tansu

old seal
#

Perfect! I'm running with this MVP idea. I think I can get something launched by Oct 1 🙏 . Want to schedule some time to chat that week?

#

This will just be an oracle to agree on some very simple data... not quite Github yet haha

#

DON == Decentralized Oracle Node 🚀

old seal
#

[09/17.24] Yeah so my 3.6tb of disk will not work for catchup complete... at 2TB and it's only 66% of the way there. Need to figure out how to hotswap and add some disk here. Wish me luck.

noble osprey
#

Hi.

old seal
#

[10/05/24] ended up borking one of my validator disks... so need to resetup things this weekend. However been running archivist on another node and this looks WAY more promising. With that and extra disk coming in the mail for my main node (after 3+ weeks of catchup I couldn't hot swap and was on the verge of running out of disk ... hence the accidental borking of my cpu).

TLDR I think we can get all nodes up and w/ historical archives in next ~1 week 🔥

#

Also moving my hosting around this weekend. So expect some downtime.

old seal
#

[10/06/24] all three validators have >7tb disk... time to sync! Really putting the U in Unlimited data usage. Up to >1.3TB just today 😆

old seal
#

[10/14/24] 🔥 and the first node is up, validating with an up to date archive!

#

Stellar-archivist strategy (while not "pure" in the sense we're not validating/varifying any of the archives) is certainly the much easier way to go.

#

This took <1 week vs. I was about 3+ weeks into a full catchup.... when I realized I didn't have hot swap enabled and was running out of disk.

#

Full archive for each of my nodes is ~5.1TB. Will work on getting the rest setup here today hopefully (since they've already caught up).

#

Hmmmm... and just like that Im behind again?

old seal
#

Ah Lol, bad SSL config... somewhat confusing, if it cannot properly access history archives, it will then say "behind", does not necesarily differentiate.

old seal
#

[10/15/24] Finally moved over all services to new infra and have validators up, monitored, and spaced-out-1 is even serving history archives (will figure out the other two later).

#

FYI one error on that table, fixed s.t. it is % disk used, not % disk free... wish I had 70% disk free 😢

old seal
#

Wooo and things are looking pretty 🔥

old seal
#

[10/19/24] a few days in. All services on self hosted infra. Pretty solid thus far.

#

Goal of today is to get a status page up.

old seal
#

Tested an outage notification from Datadog. All systems interconnected 🚀

old seal
#

Linked at the top of https://ide.digicus.dev/ on the right for anyone interested.

old seal
#

[11/28/24] Hello!!! Been a while. Undergoing an infra overhaul today. Furthermore, lots of thoughts/work on long term vision for Digicus based on user feedback, the trajectory of the space, etc. Stay tuned! 👀

#

And happy Thanksgiving to those that celebrate!

old seal
#

[07/06/25] Hey folks, it became clear that the initial idea, as implemented here, is not receiving the traction and PMF (product market fit) we hoped for. Thus, we've decided to pivot and see:

  1. if a similar idea would flourish in a space less concerned with correctness and performance (think more traditional software engineering)
  2. based on (1), what learnings can we bring back for a Digicus 2.0 rewrite? Do we focus less on visualizations and more on modeling of critical properties? Do we dial in on the visuals and position this as a compliment rather than a standalone tool?

Really bummed this did not go the direction we'd hopped and equally sorry about the delay here (experienced some pretty bad burnout).

Pivots are normal and we're working to embrace it 😓.

Expect a regular cadence of updates to start up again as we seek to, metaphorically, discover the phoenix from the ashes here. As always, stoked to be here. Onwards and updated.

bold trail
#

hello, there.
i'm full stack developer and I'd like to collaborate with you.
I believe you will be interested in my suggestion and if you accept it ,
please contact me.
thank you.

old seal
#

[07/18/25] Update. Lots of tinkering and experimenting lately. The core idea of Digicus lies in the idea of a simple, yet complete set of smart contract instructions that are common across blockchains. Really, a true instantiation, at least philosophically of layer 3. This same core "IR" if you will is an idea that seems applicable across so many domains:

  • general compilers - LLVM
  • smart contracts - Digicus
  • systems modeling - my current, active exploration
  • human languages - 🤔

One of the problems with Digicus (besides adoption of course), was that it was not flexible enough... we built our own bidirectional rust transpiler mostly from scratch for goodness sake. Thus, when we wanted to pivot based on user feedback we were staring at a very substantial rewrite. In my latest investigations here, I've come up with a much more reasonable system that should enable more extensibility, key to (a) finding product market fit and (b) more along the lines of emergent design (https://en.wikipedia.org/wiki/Emergent_design).

Thus far I think it'd look something like this:

    [frontend]
        |
        V
      [core]
        |
        V
    [backend]
        |
        V
    Artifacts

I believe the most critical work is in the core. With a good core, the FE and BE can be more ephemeral, something that's likely even easier in the age of AI assisted coding.

Hope everyone is having a good week. Stay tuned for more updates 😀

old seal
#

[08/15/25] Having more thoughts about types and what that could do for us. Lots of reading. Lots of learning. Obviously Soroban is written typically leveraging the Rust library, and thus heavily typed. Can we do better? I know folks are doing formal proofs of contracts. Are there ways to make that the default? Make it easy? Make it cheap?

Many thoughts. Hope all is well.

tall grove
old seal
#

No, thanks for asking though!

old seal
#

[08/29/25] Next iteration of Digicus will be written in Racket, a "programming language for programming languages" (see here for Racket Manifesto). We believe this will give us greater extensibility to fulfill our mission here. Step 1 is an XDR lib 👀