OpShin | Python SCs

917 posts

OpShin | Python SCs banner
OpShin | Python SCs

OpShin | Python SCs

@OpShinDev

Cardano Smart Contracts in Python. You want it. You buidl it. $opshin

Cardano 参加日 Haziran 2022
70 フォロー中3.1K フォロワー
固定されたツイート
OpShin | Python SCs
OpShin | Python SCs@OpShinDev·
Did you know? OpShin solves one of the biggest challenges on #Cardano - onboarding new developers. Traditional Cardano SCs are written in Haskell, known to 0.67% of developers. OpShin lets you write them in Python, known to a whopping 25% of developers! More? 👇
English
9
44
214
15.8K
OpShin | Python SCs がリツイート
Cardano Foundation
Cardano Foundation@Cardano_CF·
Cardano just got programmable tokens at scale. With CIP-0113, token issuers now have a standard to enforce compliance logic directly to native Cardano assets. The framework is modular, open source, and live on the Preview testnet. Learn more: cardanofoundation.org/blog/programma…
English
37
140
549
98.3K
OpShin | Python SCs
OpShin | Python SCs@OpShinDev·
OpShin 0.27.2 is out, with a variety of important bug fixes and convenience features: - Mutual recursion and forward references now work - A rewrite of the Union-handling and optimization framework - Various smaller bug fixes Enjoy! github.com/OpShin/opshin/…
English
0
0
8
405
Christian Schmitz
Christian Schmitz@cschmitz398·
I’ve been building on Midnight for over a month now which has forced me to dive into the tech, privacy features, and how to build dapps Here's my honest opinion so far, from someone who has written code for Midnight daily during the past weeks: - compact (Midnight's smart contract language) is well-designed, and handles high-level state-changes, similar to solidity. Key language features are still not production-ready though. - transaction building is based on the compact contract and happens behind the scenes, this saves a ton of work! Calling the auto-generated typescript equivalent of the associated circuit is all it takes - tx fees being paid in an asset that regenerates in the background takes away another thing to think of! - compiled contracts are 100MB+, approaching and sometimes surpassing the npmjs public registry limit. This can complicate the management of compiler artifacts - there seems to be a limit on the number of circuits a contract can be deployed with - some of the errors thrown by the midnight toolchain are unclear, making debugging difficult - the midnight toolchain consists of a lot of different typescript packages. It isn't always clear which versions of these packages work together, hopefully some of these packages will be merged as they become more stable - the official example dapps on github don't seem to work out-of-the-box. It's easier to use community maintained repos to get started. - the current preview testnet is slow and unstable, it's better to run a single-node network locally - there's uncertainty about contract contention/scalability. Will Midnight dapps require batchers? Obviously it's early. Tooling and documentation is lacking at the moment, but that is to be expected at this stage in the game. Building a real dapp on Midnight’s public testnet is still not quite feasible, but luckily there are teams like Nocy running their own public instance, and there are handy community maintained docker images for local testing. As per the core midnight team, their focus seems to be 100% on mainnet, which means they don’t spend much time maintaining the docs or helping solve kinks that come up on testnet. Personally I don’t have a problem with that and I’m excited that they’re heads down focused on mainnet. Overall the development experience on Midnight seems pretty promising, as most of these early roadblocks are to be expected. I have no doubt building on Midnight will be a phenomenal experience in its full form, and I hope my early contributions will help push the ecosystem forward. Let me know if you guys like these sort of reviews and maybe for the next one I can compare and contrast Midnight vs Cardano.
English
33
45
381
15.7K
phil
phil@phil_uplc·
I read an audit report and came across a finding that is not only categorically wrong, but actually incredibly dangerous. The finding, included below, is essentially categorizing a non-issue as a problem, and then the solution recommended to fix the "problem" if implemented would introduce a vulnerability to the protocol. > Enforcing the particular ordering in a batch is not that important. Instead, if the orders are considered in whichever ordering they come (which will most likely be lexicographic on the `TxOutRef`), it is very difficult to even attempt any front-running attack. A potential attacker can never rely on their transaction being performed first because a batcher might include an order on a lexicographically smaller `TxOutRef`. > Removing that constraint will inherently strengthen the protocol against front-running orders. The above is absolutely not correct. You cannot rely on the ledger imposed lexicographic ordering of inputs to prevent front-running, because `TxOutRef` of request UTxOs is not random, it is entirely user controlled. This means an attacker can just mine for a very low txHash to practically ensure an order is processed first, and mine for a very high txHash to practically ensure the second order is processed last. Please do not do this in your protocols. If you are batching, use UTxO indexing design patterns if order matters or use sorting networks or some other reasonable solution.
English
2
11
93
3.5K
OpShin | Python SCs
OpShin | Python SCs@OpShinDev·
@rvcas cross reference to recent AGI claim by LeCun etc al., not meant as a shot towards your Plutus VM implementations (which are great!)
English
1
0
1
52
Lucas
Lucas@rvcas·
@OpShinDev classic? Every Plutus VM I’ve built passed all conformance tests
English
1
1
4
161
OpShin | Python SCs
OpShin | Python SCs@OpShinDev·
Is there interest in a ZK Cardano SC framework accessible from Python? Aiken? We played around and built a POC a few years ago, and might pick it up again if there is interest in the community.
English
2
5
28
1.5K
OpShin | Python SCs がリツイート
Giovanni - EASY1, Midnight & World Mobile Operator
I am usually very critical when I present something and often unhappy with the result of the presentation, but today, beside a couple of minutes of mixing up tabs and not finding a script hash, I think the presentation was a banger. Thanks to all the people that attended and asked questions. Thanks even more to the people like @OpShinDev and @_KtorZ_ that gave me feedback and suggestions. Tonite I found some time and vibe coded all the improvements recommended today during the session, in particular: 1. split the verification page into it's own page and route 2. enhanced the verification page to allow for "deep links" ie a special link that pre-load the verification page with all the onchain details required to verify a contract. it also immediately runs the verification, apply parameters and give you the results of the verification. 3. added deep-link sharing button in the result page. for easy access and share 4. added the value of the params applied in the script in the result page. As part of this redesign, a new landing page has been implemented with a summary of the features, a quick search, and catchy stats to check the progress of how many contracts/hashes/repos have been verified. The new Landing Script Parameters Deep Links uplc.link/verify?txHash=… Let's go!
Giovanni - EASY1, Midnight & World Mobile Operator tweet mediaGiovanni - EASY1, Midnight & World Mobile Operator tweet mediaGiovanni - EASY1, Midnight & World Mobile Operator tweet media
Cardano Community@Cardano

uplc.link — Verifiable Smart Contracts on Cardano Get ready to dive deep with Giovanni Gargiulo at this week’s Cardano Dev Office Hours! 📅 Friday, 23 January 15:00 - 16:00 (UTC) 🧵 Open thread for details

English
1
4
29
1.8K
OpShin | Python SCs
OpShin | Python SCs@OpShinDev·
@CryptoJoe101 @Cardano feature request: can you show the parameters for scripts in the registry? the final missing link for complete transparency (and not private anyways to anyone who can read UPLC)
English
1
0
2
90
Giovanni - EASY1, Midnight & World Mobile Operator
📢 PSA Tomorrow at the @Cardano Office Hours I will show how you can verify Cardano Smart Contrats using uplc.link I've also recently issued a CIP github.com/cardano-founda… to define onchain metadata to register Smart Contracts and allow anyone to run the verification stack. It's all open source and feedback is welcome. I would love to see ecosystem project and users like @blockfrost_io @cexplorer_io @eternlwallet @Tokeo_io @ada_stat @cardanoscanio @lantr_io @OpShinDev and many others to attend and get familiar with the platform and hopefully integrated into explorers and wallets! Thank you and see you tomorrow!
Darlisa GC@DarlisaGC

🚀 Smart contract verification on Cardano Join @CryptoJoe101 at our next Dev Office Hours for a deep dive into uplc.link, bringing transparency and verification to on-chain code. 📅 Fri, 23 Jan | 🕒 15:00 UTC 🔗 app.addevent.com/calendar/TG807… 📄 github.com/cardano-founda…

English
1
2
15
825
OpShin | Python SCs
OpShin | Python SCs@OpShinDev·
@CryptoJoe101 @aiken_eng We can always write up a postfactual CIP if needed. but I don't necessarily see why standardization is needed at all and writing a CIP *will* cause philosophical discussions about your approach that distract you from buidling.
English
0
0
0
38
Giovanni - EASY1, Midnight & World Mobile Operator
Ahahaha shit is working!!! I've just verified on a local db the first @aiken_eng script hash via plutus-scan. The first step in building a decentralised cardano smart contract database. If you are an AdaMatic.xyz user (the smart contract for executing automatic payments on Cardano, or more commonly known to auto-pull your @hoskytoken rewards), you are using an Aiken script, whose code is actually open source. An example of an AdaMatic transaction is: beta.cexplorer.io/address/addr1z… if you open the @cexplorer_io link, you can see the script hash (circled in 🟥) right, but you might wonder.. can I find the exact version of the code that is actually run?? Well, now you can. There is now an api endpoint which you can use to fetch the detail of the "version of the code" which compile gives you exactly that script hash. Here below an example of the query/response, note how the script hash `d91724ab50....` is part of the api call and look at all the detail abuot the script being executed: ✅ github organization ✅ repo ✅ compiler used (aiken) ✅ compile version ✅ and script parameter used (in order) ✅ plutus version ✅ etc etc etc obviously this only works if SOMEONE submits the relevant data to the backend. The idea in my (soon to be a) CIP, is to submit these data onchain as a metadata transaction. So that ANYONE can run the backend to do the same and independenlty validate the shit out of the contract. I will obviously run an instance and I would love ❤️ for explorers to hook it up... imagine seeing a ✅ beside a script, clicking and opening the exact commit which was used to build a script 🤯 . CIP is below 👇 WDYT ??
Giovanni - EASY1, Midnight & World Mobile Operator tweet mediaGiovanni - EASY1, Midnight & World Mobile Operator tweet media
Giovanni - EASY1, Midnight & World Mobile Operator@CryptoJoe101

🚀 First step of my first CIP 🎯 forum.cardano.org/t/cip-idea-sma… @aiken_eng @helios_lang @Scalus3 @hlabs_tech for plu-ts @OpShinDev

English
1
0
6
396
OpShin | Python SCs
OpShin | Python SCs@OpShinDev·
@CryptoJoe101 Thats very cool! OpShin currently does not define a standard yet on how to build the contract (other than aiken) but it could be as simple as a makefile.
English
0
0
0
17
Giovanni - EASY1, Midnight & World Mobile Operator
@OpShinDev and it's working already Would love to integrate opshin contract too! Feel free to review the cardano blogpost, will draft the CIP in the upcoming days, and input from smart contract language developers is welcome to get it working well from early days! x.com/CryptoJoe101/s…
Giovanni - EASY1, Midnight & World Mobile Operator@CryptoJoe101

Ahahaha shit is working!!! I've just verified on a local db the first @aiken_eng script hash via plutus-scan. The first step in building a decentralised cardano smart contract database. If you are an AdaMatic.xyz user (the smart contract for executing automatic payments on Cardano, or more commonly known to auto-pull your @hoskytoken rewards), you are using an Aiken script, whose code is actually open source. An example of an AdaMatic transaction is: beta.cexplorer.io/address/addr1z… if you open the @cexplorer_io link, you can see the script hash (circled in 🟥) right, but you might wonder.. can I find the exact version of the code that is actually run?? Well, now you can. There is now an api endpoint which you can use to fetch the detail of the "version of the code" which compile gives you exactly that script hash. Here below an example of the query/response, note how the script hash `d91724ab50....` is part of the api call and look at all the detail abuot the script being executed: ✅ github organization ✅ repo ✅ compiler used (aiken) ✅ compile version ✅ and script parameter used (in order) ✅ plutus version ✅ etc etc etc obviously this only works if SOMEONE submits the relevant data to the backend. The idea in my (soon to be a) CIP, is to submit these data onchain as a metadata transaction. So that ANYONE can run the backend to do the same and independenlty validate the shit out of the contract. I will obviously run an instance and I would love ❤️ for explorers to hook it up... imagine seeing a ✅ beside a script, clicking and opening the exact commit which was used to build a script 🤯 . CIP is below 👇 WDYT ??

English
1
0
1
97
Giovanni - EASY1, Midnight & World Mobile Operator
🔍 EtherScan but for cardano 🎯 I just hacked a webapp which, similarly to EtherScan, for a given @aiken_eng contract on a public github repository, builds the code on the fly and checks out whether the hash(es) produced by the build, match the expected ones passed as input. Thanks to @meshsdk and to the plutus.json, it is also clever enough to prompt you for required parameters and apply them on the fly. In this example I used my own AdaMatic contract which uses a NFT to guard a settings scripts which in turn is used into the automatic_payments script. Finally you will be able to "don't trust but verify" yourself that the code executed at a script address, is exactly what is supposed to be. Imagine building a DB for all the opensource contracts, build and verify them, etc, a CIP to submit metadata tx that trigger an automatic verification, and still the possibility for you to trigger manually a verification because fuck it you can! This works like a charm for Aiken (and it will be easy as fuck for @Scalus3, @helios_lang and probabily @OpShinDev too) but it will require some heavylifiting for plutus and plutarch. But hey we had to start from somewhere!
Giovanni - EASY1, Midnight & World Mobile Operator tweet media
English
2
4
11
1K
Midnight Explorer
Midnight Explorer@midnightexplr·
🔥BREAKING NEWS on BYBIT: $NIGHT ranks 3rd in trending on the world's second-largest exchange. With a trading volume of $283M, $NIGHT ranks only behind $BTC and $ETH. It even leads $SOL and $XRP. Midnight is on a strong growth trajectory. Let's go @MidnightNtwrk 🚀 @IOHK_Charles @Bybit_Official
Midnight Explorer tweet media
English
18
43
278
20.4K
OpShin | Python SCs がリツイート
Intersect
Intersect@IntersectMBO·
Milestone Confirmed OpShin – Smart Contract Tooling for Cardano (M1) @opshindev, the Python-based smart contract language for Cardano, continues strengthening its foundation for dApp developers. This milestone focused on fixing critical bugs and improving reliability across the codebase, ensuring developers can build and deploy smart contracts with greater stability and confidence. A more dependable OpShin means faster, safer dApp development, supporting a stronger Cardano ecosystem. 🔗 opshin.dev Follow the full Delivery Assurance dashboard: bit.ly/TWDB
Intersect tweet media
English
0
2
9
489
OpShin | Python SCs がリツイート
Ales
Ales@berry_ales·
No matter how much we strive for perfect code, humans always make mistakes. What really matters is how a network responds when things go wrong, and how easily it can recover. And I think that's where Cardano shines.
English
9
44
486
7.1K