Sixty-six thousand

And nine-hundred and ninety-nine dollars

Well, BTC smashed the ATH yesterday. Per usual, I didn’t get much done. I managed to get through the PaulX Solana tutorial and had a call with the founder of Collab.Land, but I was totally ADHD with the charts and Twitter. Wound up getting a bit too sauced and stayed up till 1:30AM watching Squid Game. This morning I’m rekt. Took Younger to the bus stop then came back and went to bed for another hour and a half.

I’m going to work on the serum-dex-ui this morning. I got the token mints pulled out of the serum module, and have the browser pulling the json feed from Galaxy, now I just need to pass the data to a few other modules for the actual rendering. I feel pretty confident about it, so let’s see if I can churn this out in a couple hours.

The market, and by this I mean NYSE, opens in about five minutes. BTC pulled back since yesterday’s close, so we’ll see how much activity there is after the opening bell. If the ETF gets a lot of volume I suppose we’ll go back up. I actually sold a couple options on LedgerX yesterday, October 22 $68k for BTC and October 29 $5k for ETH. I’m only playing around with a couple contract as I don’t want to sell, but am just experimenting with covered calls. I think when I am ready to sell some BTC I’ll sell the futures, that way I can buy them back if there’s a pullback. Enough about that for now though, I want these contracts to expire first.

Non-ATH ATH

So the new Bitcoin futures ETF launched yesterday and did massive amounts of volume on the NYSE yesterday, propelling bitcoin up within less than a thousand dollar of it’s ATH. At least that’s the way it looked on the Coinbase chart. Others decided to celebrate regardless, as bitcoin closed at an all time daily high in several time zones, including here. There were also some exchanges that didn’t show the spike that the Coinbase chart had, and so yes, one could say that BTC hit a new record yesterday.

Me, I’m holding of the official celebration until we have a proper breakout above $64, 938 on Coinbase. I still had the unofficial celebration last night, as I had other reasons to celebrate as well. I’ll just have to tease for right now, as I don’t want to make any comments here until I have something official lined up. Let me just say it’s some potentially very good news.

I really didn’t get much work done yesterday, as I am wont to do when BTC starts making these moves up. Hopefully today I can get some work done. I plan on finishing the PaulX Solana tutorial, then move on to the Anchor version of it. Maybe I’ll mix things up by working on the DEX dynamic token list and menu generator. Either way, I’m going to stay focused on web3 stuff today.

I did manage to get the SAIAdao loot rebase proposal out for a governance vote, so that’s one less thing for me to worry about. Still, I’ve got do a lot more preparation for the actual migration, hence the focus on actual Solana program development. I’ve got to be able to read this stuff well and figure out how I can automate tasks that we need to do.

And I need to act fast. I want to have this deployment done before the Star Atlas mini-game launches “in a couple weeks” so I think that gives me four to six weeks.

The race is on.

Going the distance

Well, we made it to Tuesday. I got a lot of work done and took care of my health, and have a lot more to get into today.

First off, I wrote a seriously long update for SAIAdao yesterday. Took about four hours to put together. It’s gone over well so far. There are lots of things to figure out, but overall we’re ready to move forward with the rebase proposal, and that’s my first priority for this morning.

I also have a meeting later today with Jacob Floyd, the CTO of Star Atlas. The community leader, Santi, pulled me into a chat with Floyd on the subject of providing some sort of lending or scholarship model for the game. Basically we need to design a system or program that would allow asset owners to earn yield on them without having to play the game themselves. But we have to do this in such a way that the lender can’t transfer or sell the assets, they can only be used in the game itself.

I’m really excited about the meeting, and a lot of people are interested in the outcome as well. It should be really exciting.

I spent a good deal of time last night working though the PaulX Solana tutorial. It’s coming along. My IDE is really acting up though, and it’s causing me lots of problems. I wasted an hour farting around with it last night. Hopefully the support staff can help me out with that, otherwise I’m stuck to my downstairs laptop for the time being. Anyways, the point is that I’m getting more familiar with Solana programs and scripts. I’m not saying I’m going to start writing program code from scratch, but I’ve got a better handle on how things should work.

The Solana ecosystem is really ramping up. There’s a lot of activity in the various Discords, and actually devs are in high demand. I’m ramping up my skills and feel like things are going to move very fast.

I was in the standup meeting for the SourceCred dev meeting yesterday, and just listening to the way they talked was almost foreign. Maybe not what they said, but more like how they talked about things. They didn’t talk about time spent on features, but rather the complexity of them. They had grants from partners to work on certain features. It opened my mind just a crack to a new way of operating.

Pipeline

Missus just left the house with Elder, so I’m ready to get to work this morning. My primary task is the SAIAdao update, so I’m not going to spend too much time writing here today since this week is going to be a bit arduous due to the loot recalculation and other stuff we have going on. I need to save my strength.

Last night I made some good progress on the DEX, although I think I already mentioned being able to remove our reliance on the serum-ts package for our token lists and mint. It was just the first step, actually, in requiring static files to generate the site. After I published yesterday’s post, I was able to add a React component that is able to fetch the NFT list directly from Star Atlas, client side. I’ve been doing it server side using a small Express call and using it to output our json and TSX file. Now that we can do it in the browser we should be able to render all of those things in real time. This way, when Atlas Co. updates their NFT list, we’ll have it on our site with a simple refresh. No more rebuilds. It will be very nice, and then I’ll have less things to worry about during these launches.

Updating our indexing API will still require … something. We should be able to do something similar, but we’ll still need to do something like a yarn build and Unit restart in order for changes to take. But enough about that for now. One thing at a time.

Day trip

This morning was a bit rough, since Saturday night turned into a party.

I went right to work on the PaulX Solana escrow tutorial, and managed to get through a good deal of it after a bit of trouble last night with a Cargo dependency error. I typed out every line of code since I wanted to make sure I internalized everything that was going into it. I got through the program build steps, and was working on the deployment scripts when I stopped earlier.

I needed to get the kids out of the house, so I found a park that we hadn’t been too before and I took the girls and the neighbors there for a couple hours. It was huge, and they had a great time. There was also a nice garden with herbs and local plants and trees that was pretty nice, and there was also a visitors center with a scenic overlook on the river that we went to. It was very beautiful.

The kids are in bed right now or are getting ready, and I’m about to head back upstairs. One of the SAIAdao devs messaged me earlier and got me talking about our plans to remove the DEX token lists from the Serum module. Right now we’re injecting it into the node module during build time, but I want to pull it out of there entirely and use an export from our local library. If that works then we plan to move to a client-side script that will pull the data live in real time from the Star Atlas website. Then we won’t even half to rebuild the site when we need to do updates. I’ll be spectacular. We’ll still have to update our indexer in order for the charts to work, but that’s another thing I’ll worry about another time.

Vindication

It’s so nice to have gotten a good night’s sleep. Younger stayed in her bed again all night for the third day in a row and I am so excited what that means for Missus and our mental heath. It’s about time.

Speaking of Missus, she’s decided to grow with her nos, and has decided to step down from a couple of the various volunteer projects that she was working on. She stepped down from a professional industry legislative committee a few weeks ago — really they had no clue what they were doing anyways — and she’s also resigning as vice president of a regional labor council. Today the whole family is going across town to do a door-knocking lit drop shift and then she is officially done.

She’s telling everyone that it’s temporary, that she needs more time with the kids and now her mom’s sick and needs trips to and from doctor’s appointments, but I don’t really think she’ll go back to it. Things are going to change too fast.

Yesterday’s BTC run felt like validation for many people, myself included. It’s fun — and distracting — watching these moves up and realizing the freedom that’s attached to it. My Perp position is up more since April than I used to make in a year, not to mention the value of my spot holdings. It’s nuts.

I went to pick up Thai food last night, and the man behind the counter asked me how my week was doing. I was kind of taken aback because it’d been so long since a stranger asked me that. I told him that it was great, that it was hard to believe that I do what I do for a living, answering to no one. Then I left without tipping.

I decided this morning that I’m going to start working on the excellent Programming on Solana tutorial by PaulX. I’m going to work through the exercises and everything. Then I’m going to do the Anchor version of it that I saw floating around. Then I’m going to figure out how to make some contracts of my own. I need something that will let me distribute tokens to SAIAdao members. And I need lots of front end tools built that will let members claim those tokens. The multisig and governance modules all require knowledge of how to create instructions, and I need to be able to do that.

Girls are awake, time to go.

Cred

Oh man, I knew I was going to regret not writing a post this morning and here I am, 11PM and wanting nothing more than to go to bed. So just a quick note.

Bitcoin blew the roof off today. There are reports that an ETF is ready to go early next week and Twitter was just electric, I could barely get any work done.

I did manage to accomplish a few things. Spent some time trying to manage our serum-history indexers. I’d really like to get the front end behind some firewall or load balancer, so I’m trying to figure out how I can deploy it that doesn’t require me to manage a bunch of EC2 instances. Looks like we’ll be going to Elastic Beanstalk, but I’ve got to learn a bunch of stuff.

Dealt with a domain ownership issue the local Democratic party needed some help with. I think this is the last thing I need to do for them for the foreseeable future. Spent forty-five minutes trying to get through to a customer service rep who didn’t know how to do her job.

I asked a question at the Star Atlas town hall today and put CEO Michael Wagner’s feet to the fire about the schedule. He didn’t answer my question at all so I had to ask it like four times to get a non-answer out of him.

Perhaps the most fascinating thing that happened today was that I came across this article, Governance Mining – liquidity mining for human capital, it’s really brilliant. From there I went full steam into standing up a SourceCred instance and got it setup on Github Pages. It’s really interesting and I’m hoping to use it to distribute governance shares in the dao. SourceCred uses it to pay their team, so the grain that gets distributed is redeemable for a dollar, and they drop $100k a month to team members. It’s actually quite amazing and seems like it’s going to be a key piece of our governance moving forward. It’s got several plugins for GitHub, Discourse and Discord, and it builds an activity graph to figure out who’s got the most cred that week, and then drops tokens based on recent and and historical rankings. Here’s output that I generated today.

# Top Participants By Cred

| Description | Cred | % |
| --- | --- | --- |
| BCM---Dao-Launch-Control | 435.8 | 61.8% |
| -IA--GT---BULK--4-6couple-weeks- | 25.3 | 3.6% |
| ibeJD--SAIAdao | 17.5 | 2.5% |
| Slats | 16.5 | 2.3% |
| R3zk1n | 14.3 | 2.0% |
| Alex-Core | 13.5 | 1.9% |
| Tinman | 12.3 | 1.7% |
| yaawn | 11.6 | 1.6% |
| chriscrypto | 11.1 | 1.6% |
| Errantry | 11.1 | 1.6% |
| Rambulik | 10.6 | 1.5% |
| CLUB---Loid | 9.9 | 1.4% |
| Morpheus | 8.8 | 1.2% |
| archaeopteryx | 8.6 | 1.2% |
| Echo | 8.4 | 1.2% |
| Zanda-Wylah | 7.5 | 1.1% |
| Blockpal | 6.2 | 0.9% |
| sidequ35t | 4.9 | 0.7% |
| Kakan | 4.0 | 0.6% |
| vedd | 4.0 | 0.6% |

Tokenomics is hard

I’ve been spending more time the last two days going over spreadsheets, trying to figure out a way to take SAIAdao from Daohaus to Solana. I wrote a long proposal that detailed a rebalancing of shares and loot, giving each member an amount of both based on their current proportional weighting. It floated like a lead balloon, basically. I had decided not to try and deal with the obvious imbalance between OGs and noobs, the later of who were entering into the dao at an immediate loss, which further increased the gains of earlier entrants.

So I spent a few more hours yesterday creating additional rows which allowed me to boost participants who came in at a certain ratio. It doesn’t quite restore new members to their original valuation, but it is very generous. Each OG basically loses 25% of their nav claims. So I’ll probably give it a few days to settle out before we start taking steps to actually execute it. There’s a lot of work to be done in other areas.

We still have to figure out whether to proceed with my original proposal, to balance shares and loot between all members, which allows us to remove the claim on nav that shares currently have, and make them governance only tokens. My experience with defi leads me to believe that these new governance tokens, $SAIA, will ultimately have more “value” than the actual claim tokens, which I’ve dubbed $DUST for the time being. So far I’ve done a poor job of making the case to members which is fine. My original proposal forced OGs such as myself to give up shares in exchange for preservation of claims, but if we’re going to be giving up 25% of our claims then we should at least hold onto our shares.

The math makes my head hurt. I feel like I should be much better at spreadsheets, but they’re so cumbersome and it frustrates me that I can’t write Python code that does the work in a Pandas table or something.

So phase one of our migration to Solana will be distributing additional loot to recent members to correct the imbalance. I’m probably going to go back and look at my weekly reports during the time period to chart out NAV and see if any more tweaking is required. For example, people who came in right at the GAO drop would have seen a larger drop in their claim value as there was a pretty steep correction following week one. Anyone who came in the last few weeks should actually be closer to their entry price. That said, it will probably be better to keep the two groups roughly the same. On the other hand, part of the discrepancy between the entry price and the theoretical exit price is the value of the ‘valueless’ governance tokens, of which the earlier group has more. Ugh, I’m talking myself in circles here.

The reason we’re in this mess is that I was attempting to simulate the way defi protocols will issue governance rewards to users who stake LP. I made a couple of mistakes. First off Daohaus is a two “token” system, and both have claims on the bank. This isn’t really the case with most defi protocols. I was attempting to offer increased yield on shares for early adopters as a reward, and was a bit overaggressive. So here we are.

There have been questions raised about potential governance attacks on the NAV tokens which I’ll address at another time, right now I’ve got to figure out the best way to proceed with the additional distribution of loot. I’ll probably spend some time writing up a script that can create the proposals; I don’t want to spend an hour doing it manually, and it’ll be a healthy exercise to help me get better at web3 development.

We’ll obviously need to pause new memberships; we probably don’t need cash until the minigame and we need to figure out what the last entry price actually was and how to actually move forward. Allowing more entrants into a broken system is unfair both to them and people that are locked in at a loss, so we’ll have to just lock the doors, and get the migration to Solana completed. I don’t have any promises about that happening before the minigame, in fact it will probably be better for it to happen after, and give us a chance to farm assets and bring NAV back up to a place where all members are in a better position.

Distribution is going to be the biggest challenge. There are several ways to do it: manually, via a script, using a Merkle distribution, vesting contracts. The main issue is we have about a hundred members with varying amounts of two tokens to distribute. I thought it was clever to rebalance the share/loot balance and distribute LP tokens instead, that would have halved the work we needed to do, so right now my main challenge is figuring out how to do that.

The other problem is what we’re going to use for governance on Solana. Getting tokens in wallet addresses is going to be an important step, as there are things like Collab.land and Grape Protocol that we can use to turn Discord into a quasi-governance platform. The Solana governance module is coming along, and the Mango front end for it looks fabulous. The only problem is that it looks like it requires a Solana dev to be able to make proposals. But the fact of the matter is we can no longer wait on Squads to launch, so I’ll just have to focus on getting this done ourselves.

I had hoped to be focusing my time on other projects for the time being, the DEX has lots of things that need/can be done, we have a grant proposal with Step.Finance that I could be working on, and the question of asset lending/scholarships is going that is going to unlock lots of potential yield. But for now, I’ll keep my focus on moving this bar forward, to get the rebalancing proposal across the line and implemented, and providing the first tranche of liquidity to members.

Assuming we’re able to get a proposal agreed on by next week, I should be able to have the first tranche of tokens in member’s hands by the end of the month.

Freedom

I’m doing morning pages because I want to procrastinate working out. I haven’t lifted weights in a couple weeks, or run in seven days. I’ve just been drinking too much alcohol and not waking up refreshed enough. That’s not quite true, even when I don’t drink I’m still feeling sluggish when I wake. I blame the longer nights.

Missus said she’s starting to feel the effects of Seasonal Affective Disorder. That’s bad news because we haven’t even started Daylight Savings Time. Or ended it, you know. That transition is going to suck.

This morning wasn’t too bad, other than Younger refusing to sleep by herself again. Missus went to bed early, Younger beside her. I moved her to her bed and woke up in the middle of the night and she was there. Missus got up and moved to Younger’s bed, and then she followed her mama a minute later. I had some restless dreams.

I don’t have any promises to anyone this morning, and my Discord DMs were few. So I really have no excuse not to take my time this morning and give myself a good hour of time to get fit. Just a few more minutes of writing though, then I’ll get up and change, sweep the living room floor of toys and other clutter, put on a podcast and give the old meat puppet that is my body a bit of exercise.

I’m working on StarAtlas.Exchange this morning. We still don’t have a fully automated update system, and I want to make it as simple as possible for us to stay in sync with Star Atlas’s NFT feed. There are several steps that have to happen including file generation, repo updates, and triggering a TypeScript compilation and Node restart on our indexer. This last one is going to be the tricky part, but it should be ok.

Should be a productive day, as long as I remember I have no one to answer to this morning but myself.

Busting butt

Wow, what a roller coaster day. I was dragging butt all morning and didn’t get a lot done, but sometime around midday I kicked into gear and solved a problem that had been bugging me for some time. It’s about SAIAdao of course.

I’m not going to spend too much time going over it here because I’m actually writing a proposal about it right now and don’t want to repeat myself. Let me just say that there was a heated debate about it for several hours today, and I started drafting up the problem statement and goals section before I had a solution. Once I properly defined those I started sketching things out on paper and developed a working plan rather quickly. I then threw some numbers in a spreadsheet and, to my amazement, my new proposal seems to work rather well.

Now I just need to finish explaining it in lay terms.

Last night also saw some progress in the grant proposal I mentioned last night. I managed to recruit a valuable team member. Still, there’s little I can say here on the subject at this time.

Other than that I did a few changes to the serum-indexer that I overlooked during the last change, and I’ve been working on converting some JS code that will be used to generate our market update code when Star Atlas does theirs. It’s coming along quite well, even considering my unfamiliarity with JS and async/await functions.

More work tonight, but hopefully I can get to bed earlier than I did last night.