Category Archives: Blockchain

Magic Marker on a Pig

Well, I’ve been working on Wonka, a rules engine that uses Nethereum to integrate with the Ethereum blockchain, for about 2 years now and…2 years?! How did all that time simply disappear?! In any case…

After playing with it for so long as just code and libraries, I figured that it would be more interesting if there as a GUI (i.e., “a shiny”) to showcase what it can do, on a very elementary level. So, I created a rules editor (i.e., this rudimentary Blazor app) that uses Radzen controls to demonstrate a few key things:

  • How to download a Wonka rules file through IPFS
  • How to instantiate the Wonka engine
  • How to traverse a RuleTree and view its contents
  • How to dynamically add new rules onto a RuleTree
  • How to export a RuleTree into XML form
  • How to execute a RuleTree with a data record
  • This version of the Blazor app just showcases how one can use Wonka to run the rules in the .NET domain and how it could be extended (especially in utilizing Nethereum). Later, I hope to show more advanced functionality, like how one can serialize the RuleTree to the blockchain and then invoke it on the chain.

    Wonka is a little rough around the edges, and this Blazor app is a little clunky…but, together, they get the job done!

    Or so I like to think.

    I See What You Did There

    So, back in Osaka (which perhaps might be the last DevCon ever due to being the end of days), I had the pleasure of watching a lecture about Nightfall, and Paul Brody and crew really got me excited about how it could invigorate the mainstream adoption of Ethereum, especially through enterprise. But since it wasn’t a packed house, I was a little worried that anyone else cared all that much.

    Well, I couldn’t have been more wrong! As it turned out, John Wolpert (of Consensys) and Yorke Rhodes (of Microsoft) had been talking to Paul Brody and team the entire time, looking to expand the theme of Nightall into something even bigger. And after months of very sneaky, sneaky cooperation, they finally unveiled the work of their collective efforts: the Baseline Protocol! Basically, similar to Nightfall, it’s a way for two companies to use zkSNARKs for private transactions, specifically to create a master agreement between parties and then submit purchase orders (based on volume discounts, etc.). And since it’s been adopted by OASIS and has two steering committees, this thing just got very real!

    I haven’t had time yet to really read the work and watch the instruction videos, but I can’t wait to dig in and find out more!

    Nethereum.eShop: A Practical Template for the World

    So, it’s been about two years since I started getting involved with Ethereum and since this blog has turned into mostly posts about Ethereum. And it’s approaching two years since I first met the prolific Juan Blanco and since I first got involved with Nethereum, becoming its self-proclaimed mascot. (I just have the face for it.)

    In any case, the Nethereum team has decided that it’s high time to actually show how integration between eCommerce and the Ethereum mainnet is totally possible, especially with Nethereum. And maybe even with the help of Wonka! And how exactly are we going to demonstrate that? By building a working template that’ll give Microsoft’s IBuySpy (for the older folks) and Blazing Pizza a run for their money. Of course, it’s just starting out now, but we hope to have something viable within the next few months.

    So, I present…the eShop Store!

    Of course, we welcome all contributors, so any Ethereum developers are welcome to join the party! Even any possible names for the store are welcome. Maybe it should be called Buterin Books?

    Hmmm…we might need permission for that one.

    DevCon 5, Super Happy Blockchain Time: Part 2

    Who’s doesn’t love Taiko drums? Well, if you don’t, you need some sort of intervention, since you’re out of your mind. And since we were in Japan, it was the perfect choice for the opening ceremony of the conference and to kick off the second day:

    Day 2 was a bit more subdued, in terms of interactive sessions that I wanted to attend. But there was one, from the guy who helped make tokens/ICOs become a thing and the author of Mist and Web3: Fabian Vogelsteller.

    I mean, what would this guy know about decentralization and Ethereum, right? All kidding aside, he took this opportunity to talk about one of his ongoing projects: ERC-725, which is aimed at creating interfaces and implementations for decentralized IDs on Ethereum. It was interesting, especially when it came to terms of his proposed implementation regarding management of keys for a user pool. However, I knew a little about its competitor project uPort, so I wasn’t totally convinced that it was the way to go. But still, it was cool to hear from a seminal member of the community.

    Aside from that, the lectures were the majority of the day for me. And to start off, you couldn’t attend DevCon and miss the father of Ethereum: Vitalik Buterin. Even though it was just a general overview of Ethereum’s past and present, it was still enjoyable.

    And there were other presentations, like one about the philanthropic efforts of the Ethereum community (especially how UNICEF now receives/disperses funds through Ethereum) and one in which Maker announced the launch date of multi-collateral DAI tokens:

    But all in all, I’d say that it was more of a relaxed day.

    After all that and a MOS burger, I got the opportunity to meet someone who’s working on the TruSat project, which does sound amazingly ambitious and cool. After that high point, I decided to enjoy the tranquil, sunny day outside and to forget about the impending doom headed our way…when I was suddenly approached by a mysterious stranger. He introduced himself quickly and then proceeded to tell me that Mayan prophecies foretold the coming of a savior (pointing at cryptic icons on his shirt), who was none other than the Democrat party candidate Andrew Yang. “He is the chosen one described in ancient times.” And then he gave me a cap to remember the fateful day that will arrive soon:

    Well, let it not be unsaid that you definitely meet interesting people at DevCon. Strange and perhaps out of their mind…but interesting.

    DevCon 5, Super Happy Blockchain Time: Part 1

    It was time again for Etherheads to convene, with DevCon 5 being in the land of the rising sun. In particular, where the red ball on Japan’s flag represents the tacoyaki of the nation’s best food destination: Osaka! (And if you’ve ever eaten fresh tacoyaki, it should be colored red since it always has the inside temperature of magma. Sweet, delicious magma.) After learning to navigate the city’s metro (which was much easier with the use of an IC card), we found our way to the ATC Hall along Osaka’s west coast. Though I’m still confused why it’s not APTC instead of ATC, but I digress…

    Since the ATC is part of a larger complex that includes eateries and shops, it took a bit of navigation to find it, especially as different parts of the conference center were in different parts of the complex. It was an interesting venue, to be sure. Nestled between an active port for cruises and some industrial warehouses, it had the simultaneous feeling of being both welcoming and gritty. Which is, in some ways, how you could describe Osaka.

    And we even had our own little outdoor park, which we was a nice change of pace.

    But enough about that…on to the conference itself! Well, after getting the new wristband (that seemed to take the place of the lanyard), we snacked on some local favorites inside the main hall as we planned our first day:

    First stop was a session on getting the Ethereum community to create a more open dialogue about creating standards for Ethereum usage, ones that could be embraced by the world at large. Granted, the focus of the conference was aimed at the talk about Ethereum 2.0, since the technical hurdles are the most important priority. However, this kind of discussion was also important, since we do need to think about what comes after the successful implementation of the platform’s next iteration. After all, getting Ethereum into the marketplace will require a lot of negotiating with the outside world, and it’s better to start that conversation now.

    Next stop was a must for me, since it was a presentation about building rules engines within Ethereum. And I thought that my baby Wonka was the only game in town! So, with rapt attention, I listened to Michael Yuan and his team at Second State present their rules engine for Ethereum. Since it’s a subject dear to me, I was glad for their talk, and I felt more validated for even putting all the time and work into my own project.

    But, in the end, I didn’t see their implementation as the viable one, especially with its variation of the Drools spec. In that scenario, you would use a Drools-like pidgin within a rules contract, which would then transpile your effective rules before eventually compiling the contract into EVM code. But in that case, why wouldn’t the writer of the contract just write Solidity/Vyper code instead? Plus, most Drools implementations use clever versions of the RETE algorithm, which could execute in an Ethereum environment unpredictably (depending on context) and could have immensely unforeseen gas costs with multiple iterations of rules. I still believe that rules engines should be for non technical people, and this way would alienate a lot of that crowd. In the end, though I’m probably incredibly biased, I still thought of my Wonka project as the better path. However, it was still cool to see someone thinking along the same lines, since even most developers have never heard of a rules engine.

    And, even though I had already seen them in Brooklyn a few months ago, it was good to see Microsoft again, since it reconfirmed their dedication to the space. Cale Teeter and crew talked about the Azure Blockchain Workbench becoming more dynamic, with the ability to add nodes outside of Azure to their management console. Which is good, since I had been complaining about that for a while now. Plus, they showed off some new abilities with the Visual Studio Code IDE, and they even gave a shout-out to my Ethereum mentor Juan Blanco and the Nethereum team, since their Workbench tools rely on Nethereum for quite a bit.

    After a busy day, why not enjoy some quality time with Kabo-chan, the seminal dog that’s the muse of memes and crypto around the globe! That should fun, right?

    I love dogs, especially mine…but I’m not hanging around to meet a damn dog. He was too much of a celebrity for me, having to wait in a line to meet him. I instead decided to embrace the mediocrity of my existence and to skip my chance at rubbing elbows with fame. There was too much tacoyaki waiting for me back in the center of town.