Hi! Thank you for the Goblins idea, but that's not really what I have in mind. What I did in Racket was a formalisation of two smart contract core languages, to be able to see the execution step-by-step. What I had in mind was something like a git where I could publish my work for case study purposes. Thank you :D
A terça-feira, 16 de março de 2021 à(s) 19:24:35 UTC, cwebber escreveu: > James Platt writes: > > > On Mar 15, 2021, at 7:01 PM, Beatriz Moreira wrote: > > > >> Hello! I recently used Racket as a tool to see the small step > >> execution of some smart contract languages and I was wondering if > >> there is anywhere i can submit my work or share it with the Racket > >> community. > > > > One place might be the Racket Artifacts site. I think it's mainly > > intended for short demonstrations of code but, if yours is not too > > long, that might be the place. > > > > https://github.com/racket/racket/wiki/Artifacts > > > > I am interested in smart contracts, as well, for a possible future > > addition to a project I am working on but it will be a while before I > > get to that point. > > Spritely Goblins is probably what you want to look at, or will after the > next release (v0.8) comes out: > > https://docs.racket-lang.org/goblins/index.html > > In the not too distant future, Spritely and Agoric's CapTP should > converge. Agoric's current work is all based around smart contracts: > > https://agoric.com/ > https://github.com/Agoric/agoric-sdk/issues/1827 > > There's a lot of confusion out there about what "smart contracts" mean; > most of the examples tend to assume it has to do with blockchains. In > fact, work on smart contracts precedes blockchains by several decades. > If you look at http://www.erights.org/ on which many of the ideas in > Spritely Goblins is based, you'll notice that it has the word "smart > contracts" prominently, yet this was well over a decade before > blockchains even existed. What the heck? > > Smart contracts as something implemented with distributed objects can be > best understood probably by reading Capability Based Financial Instruments: > > http://erights.org/elib/capability/ode/index.html > > The mint example from that paper is implemented in Goblins: > > > https://gitlab.com/spritely/goblins/-/blob/dev/goblins/actor-lib/simple-mint.rkt > > That's right, in about 25 lines of Goblins code you can have a > functioning bank of sorts, which preserves financial integrity and even > permits networked accounts. No blockchain required. > > Yet, you could add a blockchain, or even turn Goblins into a blockchain > if you wanted. (Since Goblins' actor state is transactional and > snapshottable, you can have a merkle tree of all inputs, and global > consensus on the set of messages accepted by the network, and all > participants can replay and simulate the same abstract machine. This is > fairly trivial to do in Goblins.) > > But more interestingly, Agoric has already done the work of abstracting > even remote blockchains as abstract machines on the network. Since > we'll be implementing the same CapTP, when the time comes you'll be able > to access all that for free, even though Agoric programs are written in > Javascript and Goblins programs in Racket. > > Anyway, the next release of Goblins, coming soon, should allow for > beginning to play with this kind of stuff on the network more easily > than in the present (v0.7) stuff, which currently takes a lot of work. > So maybe if you can wait a few weeks, it'll be easier to talk about. > > But "smart contracts" is a use case, a broad problem domain. What kind > of smart contracts are you wanting to write? > > - Chris > -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/racket-users/6066d33f-f6e5-44ed-bed9-edda173b15c2n%40googlegroups.com.

