Stuck...this is what you get when a PHP-dev tries to do Go magic
`go: fiatjaf.com/nostr@v0.0.0-20251030193034-13c44a4644d7 requires go >= 1.24.1; switching to go1.24.10
failed to create lockfile data/mmmm.lock: open data/mmmm.lock: no such file or directory
2025/12/01 20:27:38 lmdb: value read error (id a35d04c758bdf95cc803af71a49c5a24c363007081b4f5262406639a386c9c10) on query prefix sp ffffffff dbi indexCreatedAt: failed to decode binary: runtime error: index out of range [25852] with length 732`
mmmmm what?
https://github.com/fiatjaf/pyramid/issues/4#issuecomment-3598614674
nostr:nevent1qvzqqqqqqypzqpnrnguxe8qszsshvgkvhn6qjzxy7xsvx03rlrtddr62haj4lrm3qy88wumn8ghj7mn0wvhxcmmv9uq3wamnwvaz7tmjv4kxz7fwdehhxarj9e3xzmny9uqzq8lmd70g227u5dwsf36chhu4ejqr4ac6f8z6ynpkxqrssx602f3yyuqnl3
Login to reply
Replies (16)
go is a great language. Simple and efficient. The problem is always bad code, not the language
Managing the packages / dependencies seems to be different than I'm used too with PHP, so I'm always struggling with that. But yes, I do like the language tho.
I love go. Once you get the hang of it you'll never look back. :D
You'll get there, its close! just a bunch more mmmmms... and fffffffssss XD :D
lol lmdb. use one of the other storage drivers. the badger one is a tiny bit slower but guaranteed to build and not give you retarded errors like this.
that's why my relay #orly🦉 has one. https://next.orly.dev
if your system is linux, orly will just work for you, in fact you can just run the binary if your goal is just to run a relay for hosting or testing:
https://git.nostrdev.com/mleku/next.orly.dev/releases
good that i saw this, i gotta fix the release workflow. latest will be on that. the binary you can see as i type this now v0.31.0 should be ok, there hasn't been any bugs reported since the ones that release fixed. new release includes some additions to the policy engine. put the libsecp256k1.so file next to the binary where you run it, as it looks there, or possibly you can put it elsewhere but that can be a pain.
also, if you have been looking at fiatjaf's code, you will notice that i do things quite differently, and the benchmarks, if you run them, will show you that it is faster than khatru and everything else.
plus, i answer questions and try to do my best and if i find any feature request you make interesting on its own account i might add it, though usually i would prefer to get paid some if you are gonna get paid for building the integration.
also, yes, i know its' web ui (also, it is the only relay with a web ui) is a bit clunky and buggy, but i'm not a front end dev, wouldn't have a clue much more than how to navigate svelte files to fix layout, i hate javascript. so if you have some javascript chops and want to fix it, please do, i will get around to improving it soon but i have a lot of other things i have to do.
also, if, like nostr:npub18pudjhdhhp2v8gxnkttt00um729nv93tuepjda2jrwn3eua5tf5s80a699 here, you do your dev work only on mac, i am currently installing macos sonoma on a VM on my machine and intend to get the build working, currently there is a problem because the dynamic loading of libsecp256k1 doesn't work on mac, because the library doesn't support mac dynamic library loading.
i will have it building and running on mac soon, for y'alls who insist on using these to do dev work when 99% of the internet runs on ubuntu. once it does, one of you people will need to volunteer to maintain its building on mac properly, though it's unlikely i will break it, since it just mainly concerns the signature library, fixes will be easier for you than me. i'm not planning to support mac ardently, because i don't use mac, i hate mac, mac is poopy and tim apple is ghey.
fyi, for this stuff I'm building the binaries on a Debian machine (not locally on my Mac...and that will change when I have my Framework laptop)
ok, awesome. but for work like my main gig, where i need to run the relay using the "serve" command for a web app, on mac, you will need it working on mac. which is why i'm making it do this, since you are number two mac dev interested in it. so i'll try to get that fix done tomorrow.
https://git.nostrdev.com/mleku/next.orly.dev/releases/tag/v0.31.2
also you can just run from the binary on linux.
mac build and binaries will be included in the releases once i have navigated setting up the mac to let me build in it with SSH, and fixed the build tags so the mac build actually works (this requires fixes to the separate https://git.mleku.dev/mleku/p256k1 library which is where the macos build problem is (i'm pretty sure).
if you need help let me know Seba.
Managing dependencing is pretty straightforward imo. Every project has its own dependencies. You add one with go get, you remove one by not using it and calling go tidy
sorry, go mod tidy
Ohay! Cool stuff! Will test soon! Any demo relay somewhere? Couldn't find any in the readme. I'm curious about the webUI...
Yeah. I recommend goland for go, also. It supports the language better. It has better git tools also. It can automate imports a bit more, go is strict about using imports and declared variables inside functions and methods. The stupid thing tho is it defaults to go modules disabled, and lots of red squiggles will not go away until you check. It also can manage versions in the UI.
https://relay.orly.dev is my main deployment
Thanks! Looking good! Definitely giving it a spin!
go mod tidy is 👌🏻
Slowly getting there, I just to write more Go (for examply creating simple policies with Rely)