the Hubmakerlabs version is the one for Dfinity and the company i work for, the same exact code, with the shitcoins removed is at https://mleku.net/replicatr

i will probably update the github one from time to time if i bump into serious bugs but i am pretty sure it's now production ready

the main thing i have in mind for my own version is to do other things, like fully implement the paid relay management interface with DMs and interface it to lightning so it does everything natively within nostr and uses lightning, no website, no bullshit

these features were not needed for the main task, and maybe other people will work further on it for my current employer but for the next 2 months i'm working on a different task, a multi-fediverse/nostr spider, and my boss has plans to do a custom nostr client forked from nostrudel - he's already commissioned a whole figma thing, and it will work nicely with the relay, that's why i use nostrudel, because it behaves well with the relay

so, yeah, likely the two things will get detached, and possibly the name of their version will be turned into "nest" to go with the "blackbird" branding for the client

personally, i don't see myself in this arrangement for the long term, i am going to figure out some in-ecosystem ways to make my living and disconnect from the cryptocurrency scene altogether, but this was how i was able to get the opportunity to build it

i am getting tired of it, there's only so many times you can hear the words "meme coin" and read endless garbage from arweave and internet computer protocol without vomiting in your mouth when you know the score... delusional people, maybe some of them are well intentioned but i don't want to keep going down this track, i want them to follow me!

so replicatr is my effort to induce them to come to the bright side

Reply to this note

Please Login to reply.

Discussion

What a story! Sometimes we need to do things as they need to be done... I will definitely follow your next projects! ⚡ Btw I tried to build replicatr from git and had a go dev issue, I sent you a PM.

i'm not sure why, usually this kind of problem comes from the go module cache, but the solution that fixes all of the problems is "go mod tidy"

it may have something to do with the particular docker image you build from, but for sure tidy is the general solution

the best way to do this kind of thing in Go in docker is to do this in the docker:

export GOBIN="$HOME/.local/bin"

go install mleku.net/replicatr@latest

some versions of linux don't have that set as a default in $PATH but you can just directly call it $HOME/.local/bin/replicatr

it's not hard to set that stuff up in the dockerfile

Thanks, I'll check this tomorrow Morning and let you know 🙏⚡

i'll do more work on it, i bumped into several issues and i will add a dockerfile so you can just run that and it works, shouldn't take me long to do

i'm quite excitedly working on a custom noise protocol custom suite that uses bitcoin/nostr (sha256/secp256k1/schnorr) right now, but i'll make this dockerfile for you to make it easy

"go mod tidy" worked like a charm!

testing event creation with this note....

Live note: https://nostrrr.com/relay/replicatr.fractalized.net

Working! ⚡️

i just got up to see a waitgroup negative counter panic so there may be some edge case in there still

today's presentation has been postponed due to family stuff with my boss so likely a long time for me to catch this one, but probably i'll snap it today

Nice!

I modified to entrypoint to retrieve docker env used into the docker compose and create the config file before replicatr run. I'll setup my gitea today and will send you the repo link ⚡

if you are using the @latest like i recommended, when you run the dockerfile now it will patch to a version that has the fix for that waitgroup panic... it was an edge case because it was triggered by clients sending malformed messages repeatedly (it ignores them after 16 messages wrong) i'm not sure that i've written that code correctly but for sure the waitgroup done in that clause causes two decrements of the counter which makes it go negative when a client keeps sending garbage

Obviously I don't (just used tidy) 😅

Will try @latest and let you know!

oh, also, it by default exits on first run after creating configuration

also currently it listens on a localhost address but that's probably no big deal unless 4869 is already bound

i had written it to have multiple listeners and for whatever reason that was buggering up the compilation but i'll fix it at some point