Beatri please tell us more and publish to Github :-) It seems to me that some racketers should enter the https://moralis.io/hackathon/ to make racket contracts work across other smart contract systems, as this platform has already done some of the boring leg work, otherwise, how will the idea of a 'racket web server' adapt to the needs of a web3 site that interfaces with smart contracts on multiple blockchains?
On Thu, 25 Mar 2021 at 11:44, Beatriz Moreira <[email protected]> wrote: > 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 > <https://groups.google.com/d/msgid/racket-users/6066d33f-f6e5-44ed-bed9-edda173b15c2n%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- 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/CALiGnDCNMk-ZFfz1wE%2BxMPgDWsuwuqPONRGnA4sicRC501qnVQ%40mail.gmail.com.

