-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Berty's dSocial Builder Journey #51
Comments
Contributions to gnodev and gnofaucetTo work on GnoSocial, we have gotten started with the development cycle using gnodev and gnofaucet . We have opened the following PRs with contributions which are making our work smoother and hopefully for others too.
More to come for sure! |
More contributions to gnodevIn working with gnodev, we ran across an easy and a hard problem.
|
Contributions to r/demo/boardsGnoSocial is a modification of r/demo/boards . As we were developing we found some bugs which we fixed in GnoSocial, so we contributed some PRs to fix the same in r/demo/boards.
|
Contribution: Add
|
Stress testing appThanks to the Gno devs merging the PRs mentioned above, Gno Native Kit can now use the Some of the recommendations are done by this gnodev PR. gnolang/gno#1622 (Merged) |
Contribution: Improve error message in calling realm functionOne of our devs lost time trying to understand an uninformative error message when calling a realm function with the wrong number of arguments. This will be a common problem for other devs. We made a small PR for the VM to check the number of arguments and give time-saving informative error messages. gnolang/gno#1610 (Merged) |
Contribution: Add
|
Stress testing with on-disk storageWith the help of @gfanton to show where to increase the maximum allowed gas in gnoland, it can be used for stress testing where hundreds of posts are added to the boards realm in each transaction. gnoland stores the data on disk, not in memory like gnodev currently does. So we wanted to stress test adding one million posts. Full details are in the stress test PR. In short, gnoland performed well. Transaction times remained constant and memory usage was reasonable. |
Exploring the Onboarding ExperienceWe have explored some approaches to onboard users on the GnoSocial dApp. After some discussions, we've decided to keep using the Faucet Strategy. Even though we know that strategy is not suitable for the Mainet launch, we agreed to keep with it since we don't have any other alternative for now. References: |
Contribution: p/demo/avlhelpers package and
|
Bug report: VM hangs during RenderWhile developing GnoSocial, we discovered a bug where the GnoVM hangs during the Render function. (This is in line with a goal of the GnoSocial project to stress test Gno.) Here is the PR with a txtar script which reproduces the error: Here is the bug report (Reviewing). When there is a PR to implement the solution, we'll update this post. |
Progress: Solutions for scalabilityAs we add features to GnoSocial we're exploring interesting solutions for scalability, as explained below.
|
Progress and Video: Mobile app interface improvements
Here's a short video that shows the UI/UX parts we're working on: |
Announcement: Renaming of GnoSocial to dSocialWe started the GnoSocial project to experiment with ways to implement social media features in Gno.land. The idea was to see what would be the main challenges to implement social media functionality using this decentralized tech and test various approaches to this. Some of the basic features are already here: create/delete account, post message and reply to message. And others are on the way: react to post, profile pic and hopefully more complex stuff like notifications or even integrations are cooking in the background. Recently, to align with the Gno naming policy, we decided to rename the app from GnoSocial to dSocial. So, our new repo is https://github.com/gnolang/dsocial . For the record, we will leave "GnoSocial" in the previous posts and videos of this Journey, but from now on we will use dSocial everywhere. Oh, and one more thing: we plan to bring the app to Test Flight and Google Play Console very soon. Access will be invite only so if you're interested in playing with it, let us know and we'll set you up with a test account. |
Contribution and Video: Indexer services and Docker supportdSocial needs some services available online, e.g. gnodev, faucet, tx-indexer. |
Contribution: Regression test for importing "time" packageWhile working on dSocial, we discovered that it doesn't load with addpkg. An investigation showed that a recent PR to improve error checking on loading a package produces an error when importing the "time" package. We made a PR with a simple txtar test to show it, gnolang/gno#2111 . This PR was merged as a regression test after the fix in gnolang/gno#2105 was merged. |
Demo testing available on TestFlight (iOS) and Google Play (Android)Hi there. |
R&D Report: Scalability testsHi everyone, We consolidated the scalability tests finds around avl.Tree resource consumption, tx time, gas limits and more. Check it out here #67 |
"What's on your mind?"You can now tell us on dSocial. Create Account, Follow, Post, Repost, Reply to a Post features are here (Reply to a post is affected by a bug, but it will work again soon). We are working to add "React to a post" and "Notifications" features. Here's how you can test dSocial:
Oh, and don't forget that you will need funds to make transactions (posts, cat-posts, replies, etc.) so after you sign-up you'll have to click on "Onboard user" to receive gnots. After that you'll be able to cat-post |
Contribution: Demos of possible Keybase design issuesSince dSocial (and Gno Native Kit) use the Keybase API, we are interested in how the design of this API enforces bindings between a key address and a username. We identified possible design issues and opened PRs to demonstrate the issues. The PRs are a place to discuss the design and possible solutions.
|
New features are now available on dSocial:
If you haven't already, we super encourage you to try dSocial yourselves. All you need to do is • iOS: follow the instructions of this link. You will need to install Testflight on your iPhone |
This documents the continuing journey of Berty into Gno.land. This follows from our previous journey to create Gno Native Kit (formerly called GnoMobile).
The goal of dSocial is to create a test bed for building decentralized social media type of applications and experimenting with smart contract integrations around social media features. This test bed is not intended to be a polished end-user app but to experiment and stress test technical issues in using Gno.land related to implementing decentralized social apps.
The first version of dSocial will include the basic Twitter-like features like: post, react, notification, mentions, etc. dSocial will be built for mobile using the Gno Native Kit framework, but we will also include a minimal desktop app and a read-only web version.
Additional R&D issues we will investigate are:
You're invited to follow our Journey where we will document our experience using Gno, writing realm code, and track our issues and R&D results. 🚀
The text was updated successfully, but these errors were encountered: