It’s Pronounced “See-Wee”

At least, that’s how Wayne Chang explained it. Since he’s one of the cofounders, I trust him. 🙂

In any case, the first iteration of siwe-nethereum is now done, using the first iteration of the official Nethereum SIWE implementation! It’s nothing fancy, but it does work. Since last time, there’s been more parties expressing their interest in SIWE, including Auth0 and Time Magazine. And in the future, there might be possible integrations with other chains/platforms (like Ceramic), making the future of DIDs and decentralized logins to be very exciting. Maybe its time has officially come!

And now I have to read more about CACAOs, whatever those are…

I Throw My Dunce Cap into the Ring

So, after gushing over the SIWE project in my last post, the Spruce ID team finally created their first reference implementation on Github. And after a couple tweeks (since Mozilla seems to be a little troublesome), it worked! Hurray!

And other people are beginning to discover the project and get involved, especially within the channels of Discord. Talk about something like standardizing UI controls for login (much like Apple does) gets me excited at all the potential. The more basic and fundamental the discussion, the more it all seems like it could be real someday soon. 🙂

So, with much hubris, I thought that I could somehow contribute to this whole movement, by attempting to port their reference implementation to C#. And so siwe-nethereum was born! I had to steal some code from the Nethereum project to get it started, and I’ve probably made a mess of it…

Hopefully, Juan Blanco will forgive me. It was done with the best of intentions, and I hope that it doesn’t ruin our friendship. 🙂

An Ethereum Project with ROI, on the Cheap

So, for those that complain about how Ethereum has become a platform for whales, let me tell you something…sadly, you’re right. For the time being, it has become completely unusable for the layman. Until the Merge, we’re looking at a norm where it can cost $500 to register an ENS domain name. Which, without doubt, is insane. So what projects can even be feasible in this period of boutique pricing?

As it turns out, there is one: Spruce ID. Sponsored by the Ethereum Foundation, it’s finally trying to do something with Ethereum that requires minimal gas (i.e., operational costs) and has a finite scope, something that’s actually very plausible and achievable. Basically, it’s the “EAuth” version of OAuth, so that you can have a universal login without Big Tech looking over you shoulder. (We’re looking at you, Zuck.)

Even though other Ethereum projects are still interesting, I think that this one is probably the most exciting, for a number of reasons. On top of being a major bridge for mainstream adoption, this project has the potential to become a common meeting ground for many blockchain developers. Basically, it could become a major catalyst for future development (especially in Ethereum), and it’s a refreshing departure from the constant talk of DeFi. If I hear one more pitch from a green-eyed monster about liquidity pools in Uniswap or some other DeFi yada yada…

In any case, drop by the Spruce online meetings or their Discord channel to hear some good developer talk without the buzzwords. These people might carry Ethereum on their shoulders, out of the shadows and into the light.

ONIX-Data Can Now Go on a Date

For all 12 of us out there, the ONIX-Data project is a useful set of .NET classes to parse the ONIX XML format for books’ data (along with other media)…but it’s just never appeared the part. It had food in its hair, shabby clothes, and…well…let’s be honest: it smelled a little sour. It got the job done, but it wasn’t much to look at.

But with a great deal of help from StanisÅ‚aw SzoÅ‚kowski, now ONIX-Data looks like the real deal! It’s got unit tests, benchmarking, continuous integration, shiny badges…everything that would have been there if I wasn’t so damn lazy! But now, you can take ONIX-Data out to dinner, and nobody would look at you in horror.

Check out the new solution, along with the new .NET Standard version of the library at Nuget!

I’ve Been Outdone – and I Couldn’t Be Happier

So, several years ago, I started reading about Ethereum, and I was really impressed at this nascent tech, headed by this brilliant, ambitious kid. “Think about all the possibilities!” And there were (and still are)many of them…but after reading various standards being proposed and implemented at the time, my mind (stuck in enterprise) couldn’t help but ask the question: where are the solutions that control and delegate transactions, even making them conditional (i.e., business rules)? Something that could package the transactional functionality of the blockchain as a service via a contract (i.e., ‘program’ in Ethereum speak)? This could make using the platform easier, safer, and more predictable for developers looking to leverage it. In essence, I was talking about a rules engine. So I started to work on something of that persuasion, and after finishing a prototype, I submitted a proposal to the Ethereum Foundation that put the idea out there, just to toss it around.

But, only a few months later, something even better has come along: EIP-3074! Basically, it’s EIP-2746 on steroids with a jet pack. Instead of being just a rules engine interface, it’s a more encompassing and cohesive proposal of epic proportions, suggesting that Ethereum be introduced to:

  • new opcodes
  • a standard contract of few instances and elevated permissions, to which conditional transactions can be delegated (a rules engine!)
  • batched transactions
  • And much more!

    Basically, this standard is what I’ve been hoping to see for some time. It’s a pivotal step towards making the platform more of a utility for the world at large. It’s definitely going to rub some people in the community the wrong way, since it’s suggesting the idea of delegating a user’s power and decisions to a contract and since it’s ‘centralizing’ things a bit in the decentralization space. So, it will get some pushback and has an uphill climb…but there’s only one way to the moon: you gotta push. 🙂

    Go, EIP-3074! Go!

    Hall of the Newbs: Lesson 001

    While reviewing some legacy C# code from a long-gone colleague, I noticed that the constructor of a class was instantiating a disposable member object, and in the Disposable() method of the class, that object was being closed/disposed/etc. Which is great…unless, of course, something happens (like a thrown exception) in the constructor of the class, and then you’ve lost any chance of garbage collection for that member object, possibly even locking up a resource for the duration of the program. Why? Because you can’t call Disposable() on an object that was never actually created (i.e., the constructor completed). So, it’s good to be mindful of what happens in the constructor.

    Not that I’ve ever done something like that.

    No. Definitely not. Nope.

    Stop laughing.

    The Way Forward

    So, if you’re involved in the Ethereum world at all, you’ve noticed the high gas prices, a bummer for Ethereum’s user community. Which is why Optimism might be the very thing that we all need to get out of this mess.

    Not so familiar with Optimism or don’t really understand it at all? Me neither, so welcome aboard! (Based on what happened when I tried to understand Karl’s lecture on Plasma in Osaka, I know that my brain is scheduled for a beating as I read about Optimism.) But I know someone who does understand it all: Juan Blanco! And if you’ve got some .NET skills and if you’re looking to learn more (along with get your hands a little dirty), check out his Optimism Template in order to test out his libraries and get a feel for the whole thing. That’s exactly what I’m gonna do!

    More than Just Crypto Bros

    So, even though the more charitable aspect of blockchains and crypto has been fading the past year, there are still various attempts out there that keep up the perseverance.

    One of those is a project started by my mentor Juan Blanco, who has always been interested in the potential benevolence of Ethereum. The name of his project is Homeless DAO, and it aims to embody a DAO with multiple goals in mind. One, it would aim to create a supply of tokens affiliated with charities and redeemed by enterprise, earned through charitable donations and/or services. Two, it would act as a blockchain registry for charities, offering them a number of services that could bolster their presence on Ethereum (creating an ENS domain, helping them receive and manage NFTs for raising money through auctions, etc.). Three, the DAO’s tokens could be distributed through an online voting mechanism, granted to projects that embody the charitable spirit of the DAO.

    Since it’s only in the brainstorming phase, we’re still looking for any help or advice. If you’re interested in helping out at all, stop by the Github repo and check it out!