Hi folks. I continued developing g1nkgo during this week in my spare time (basically sleeping less). It’s quite functional, with still with some anoying bug (the stored contacts, for some reason are lost between g1nkgo updates).
Anyway I’m basically finishing up things and thinking/planning for the future.
I just updated the demo, and please be aware that I made some important changes, so if anyone sees anything strange with their accounts, please let me know. It shouldn’t happen, but just in case. The demo URL is still: https://g1demo.comunes.net/
Anyway, I’m already working on how to install it by others, quite advanced, but it’s not yet 100% ready. In other words, how to set up g1nkgo on your servers via Docker.
And now to the boring stuff:
Initially, I had always thought of doing something that was a pure static file that would run in people’s browsers once loaded. But I ran into problems with gva and CORS (in development and production).
For example if I try to pay, OPTIONS works but not the POST:
I temporarily avoided it by making the nginx that serves the static g1nkgo act as a proxy with the gva servers, but this would eventually lead to rate limit problems if it is not added to the allow list. If we all start using our wallets on the same g1nkgo server… eventually the proxy will be banned by the gva servers (if X-Forwarder-For
is not taken into account, for example, or it is not added to the allowed list, correct me if I’m wrong).
So, I thought of setting up a duniter service with gva in the docker-compose file, and automatically adding g1nkgo to the whitelist. All good. I have that. So, it’s good in one way, because if someone wants to set up a g1kngo, they are more or less obliged to set up a duniter node to serve it, and this also improves the usage and network.
For those who want to take a look, here’s the link: docker-compose.yml · master · vjrj / ginkgo · GitLab (local node requests won’t work yet, because I have some hard coded https somewhere, but I hope it will work soon).
The problem I’m facing now is that, for example, as a non-member, I don’t know which limitations of use I’ll found in my node.
So, that’s where I am now. Let me know if you have any suggestions or comments.
PS: Translations here Ğ1nkgo/g1nkgo @ Weblate (I’ve just enabled nl
and de
).