Skip to content
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

Myriad Social Submission #1795

Merged
merged 9 commits into from
Aug 29, 2023
Merged

Conversation

gilangbh
Copy link
Contributor

@gilangbh gilangbh commented Jun 9, 2023

Project Abstract

Myriad Social is a decentralized, censorship-resistant social network that enables users to host their own social network without centralized control. Our application is built on top of the Myriad blockchain (currently as an appchain running on Octopus Network), which gives it a number of advantages. Firstly, it is censorship-resistant, as there is no central point of control. Secondly, it allows sovereign control, as all data is stored within user-hosted instances with freedom to host.

The product proposition of myriad is as follows:

  • Federated Free Speech: Myriad allows users to host their own social network and be part of the Federation. With self-hosting, users can set up their own server and invite others to join. This makes it possible for anyone to create their own social network, without having to rely on a central service.

  • Decentralize Other Social Networks: Myriad Social's crowdsourced mechanism of importing social media posts means that Myriad Social users can follow people on centralized social networks without having an account there.

  • Crypto Value Layer: Myriad gives users the ability to aggregate posts from other social networks like Twitter (for now) and import them into the blockchain. This effectively turns each post into a tipping wallet, allowing mainstream social media users to receive cryptocurrency for their content.

  • Own the platform: Myriad Social is a self-governing social media platform that is powered by $MYRIA token holders and users. This decentralized structure allows for a more democratic and fair governance system that is not centrally controlled.

Myriad is built to be interoperable. Our blockchain uses Substrate, a blockchain framework behind Polkadot made by Parity Technologies. Using Substrate allows Myriad to be more flexible, because it’s compatible with a multitude of other blockchains such as Octopus, Kusama, and Polkadot. On top of that, Myriad uses a federated architecture that was built with modularity in mind, meaning that all of the components of Myriad are extensible and treated like a bunch of building blocks that can be assembled any way you’d like.

Grant level

  • Level 1: Up to $10,000, 2 approvals
  • Level 2: Up to $30,000, 3 approvals
  • Level 3: Unlimited, 5 approvals (for >$100k: Web3 Foundation Council approval)

Application Checklist

  • The application template has been copied and aptly renamed (project_name.md).
  • I have read the application guidelines.
  • Payment details have been provided (bank details via email or BTC, Ethereum (USDC/DAI) or Polkadot/Kusama (USDT) address in the application).
  • The software delivered for this grant will be released under an open-source license specified in the application.
  • The initial PR contains only one commit (squash and force-push if needed).
  • The grant will only be announced once the first milestone has been accepted (see the announcement guidelines).
  • I prefer the discussion of this application to take place in a private Element/Matrix channel. My username is: @gilangbh:matrix.org (change the homeserver if you use a different one)

@CLAassistant
Copy link

CLAassistant commented Jun 9, 2023

CLA assistant check
All committers have signed the CLA.

Copy link
Collaborator

@Noc2 Noc2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a lot for the application. But aren't the server and [tipping] pallets already fully developed? Keep in mind we usually don't support the deployment as a parachain or getting a parachain slot in any way but rather focus on the development of new open-source software for our ecosystem. So we would be much interested in supporting tools that you want to develop in the future and that are ideally also useful for others in our ecosystem.

@Noc2 Noc2 added the changes requested The team needs to clarify a few things first. label Jun 13, 2023
@Noc2
Copy link
Collaborator

Noc2 commented Jun 19, 2023

I'm closing the PR for now. Let me know if I should reopen it.

@Noc2 Noc2 closed this Jun 19, 2023
@gilangbh
Copy link
Contributor Author

I'm closing the PR for now. Let me know if I should reopen it.

Hi Sir, thank you for your feedback earlier and apologies for not responding promptly as we had to discuss internally. I would like to ask that this PR be reopened, and with this message I also want to add a clarification for our submission.

For this particular grant request, we're focusing the activity to be more about explaining and documenting the migration experience from Octopus Appchain to become a parachain. As for the target deployment we are thinking of deploying it to Rococo.

I would understand if w3f is focused especially now on software and less on market impacts, so the migration of Myriad could be misconstrued as an effort to effect the MYRIA token. However, we are only targeting the initial deployment to Rococo, to allow Polkadot developers to get introduced and understand how the concept of decentralized+federated social network works, so that they can start building on top of our APIs. As such, the idea of pursuing a parachain slot is way beyond our scope.

In terms of pending work, we are mostly going to be working on the federation part after the migration. At first I was thinking of submitting the grant request fully until our targeted completion based on our full roadmap, but considering that it is going to need a considerable amount of funding, we decided to downscope and lower our target grant request.

I understand that there might be some confusion about which features are completed and to be developed, because by the time of writing our submission, our team was also experimenting with the code in parallel, my apologies. We plan to adjust our scope to fully focus on the migration process and UI/UX updates, if that is okay with you.

Thanks!

@Noc2
Copy link
Collaborator

Noc2 commented Jun 19, 2023

Thanks for the quick reply here. I'm happy to reopen it, and feel free to update the PR. As I pointed out before, ideally, you try to focus on open-source software development that doesn't already exist in our ecosystem and that is potentially somehow useful for others (e.g., they can reuse it for a different project). These are usually the easiest grants to approve.

@Noc2 Noc2 reopened this Jun 19, 2023
@gilangbh
Copy link
Contributor Author

gilangbh commented Jun 19, 2023

Thank you for reopening. I was wondering, most of the scope of the grant submission is about migrating from Octopus Appchain into Polkadot based; I am 100% sure that we are the first one to do that and this is going to benefit other appchains coming from Octopus to Polkadot/Kusama/Rococo.

At the same time, we are bringing the concept of decentralization+federation based social media with the actual product being migrated. I believe this is something that developers can learn and build upon.

With that in mind, does this submission qualify as useful and reusable?

@Noc2
Copy link
Collaborator

Noc2 commented Jun 19, 2023

Yes. For example if you need to develop something for the migration/make certain changes to the code and document this in a proper way, it is helpful for others. The same is true for most newly developed other tools.

@gilangbh
Copy link
Contributor Author

gilangbh commented Jun 19, 2023

Thanks. My last question, since we are going to undergo the actual migration process, and not just the documentation, I want to structure our grant request as follows:

  1. Migration process: infra, code, database changes
  2. Documentation
  3. Native polkadot currency integration
  4. UI/UX updates to properly reflect the post migration product presentation

Is it advisable to structure the grant request this way? Thank you for your time replying here, I appreciate it.

@Noc2
Copy link
Collaborator

Noc2 commented Jun 19, 2023

In general, yes. But regarding tokens, please only focus on the technical details and ideally don't mention any specific tokens as part of the application. Also, each milestone (in case you plan to deliver this as multiple milestones) should contain the default deliverables. So that we have some documentation to actually evaluate the deliveries, etc. And finally, the more specific the deliveries are, the better (e.g., programming language, etc.) ;-)

@gilangbh
Copy link
Contributor Author

Thanks, we'll update and let you know if we have further question!

@Noc2 Noc2 self-assigned this Jun 21, 2023
@keeganquigley
Copy link
Contributor

pinging @gilangbh are you still planning to submit updates? Thanks!

@semuelle semuelle added the discussion private Discussion of application happens in private. label Jul 5, 2023
@github-actions
Copy link
Contributor

github-actions bot commented Jul 5, 2023

The applicant has requested the discussion of the application to happen in a private chat room.

@semuelle semuelle self-requested a review July 5, 2023 14:21
Copy link
Collaborator

@Noc2 Noc2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(some additional comments in the shared channel)

Copy link
Collaborator

@Noc2 Noc2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(requested additional changes, in shared channel)

@keeganquigley
Copy link
Contributor

@gilangbh see my comment in private channel.

Copy link
Collaborator

@Noc2 Noc2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(Additional comment in the private channel)

@github-actions
Copy link
Contributor

Congratulations and welcome to the Web3 Foundation Grants Program! Please refer to our Milestone Delivery repository for instructions on how to submit milestones and invoices, our FAQ for frequently asked questions and the support section of our README for more ways to find answers to your questions.

Before you start, take a moment to read through our announcement guidelines for all communications related to the grant or make them known to the right person in your organisation. In particular, please don't announce the grant publicly before at least the first milestone of your project has been approved. At that point or shortly before, you can get in touch with us at [email protected] and we'll be happy to collaborate on an announcement about the work you’re doing.

Lastly, please remember to let us know in case you run into any delays or deviate from the deliverables in your application. You can either leave a comment here or directly request to amend your application via PR. We wish you luck with your project! 🚀

@gilangbh
Copy link
Contributor Author

Hi everyone, here is our progress as of today:

We built and deployed the Myriad Social blockchain that uses Polkadot v1.0.0

We followed the steps to build a chain spec, WASM, and genesis file from: https://docs.substrate.io/tutorials/build-a-parachain/acquire-a-testnet-slot/#export-required-files

All the files can be found here: https://github.com/myriadsocial/myriad-node-parachain/tree/main/node/res

After modifying the chain spec and re-triggering the build to include it inside the Docker image here are our last results:

https://hub.docker.com/r/myriadsocial/myriad-node-parachain
https://hub.docker.com/r/dexamethazon/myriad-node-parachain
We got the collator running following this: https://docs.substrate.io/tutorials/build-a-parachain/acquire-a-testnet-slot/#start-the-collator-node

But we didn't manage to create a connection to it via RPC. We already opened the ws-rpc.rococo.myriad.social. I'm still unsure if it's a Kubernetes problem or a Substrate problem...

From the Substrate side, we added the WS/RPC flags found in this document: https://docs.substrate.io/deploy/prepare-to-deploy/

We tried using telnet, it connected just fine. But when we tried to use polkadot.js.apps it failed to connect properly.

Also, the Parathread collator never really showed inside the polkadot.js.apps. If you go to the Rococo Parathread you can't see Myriad Social there after going down to ParaId 4242: https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Frococo-rpc.polkadot.io#/parachains/parathreads

We would like to ask for some technical help, if we still are unable to solve this situation by today, we will submit the delivery documents by Tuesday, 3rd of October.

--

For our next updates, https://github.com/decentricity (our founder) will assist with providing updates to our PR

@Decentricity
Copy link

Decentricity commented Oct 3, 2023

Hi all, Decentricity here the founder of Myriad. As mentioned by @gilangbh in his last message I will be providing updates on our progress here as well. I have good news and bad news.

Good News: Infrastructure Setup complete and connection is secure
image

Visible here: https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fws-rpc-1.rococo.myriad.social%2Fwebsocket%2F#/explorer

Bad News: Block Production Has Not Started (>12 hours)

Command used to sync:

 /home/ubuntu/myriad-node-parachain/target/release/myriad --collator --chain /home/ubuntu/myriad-node-parachain/raw-parachain-chainspec.json --base-path /var/lib/myriad/ --port 50333 --rpc-port 9944 --unsafe-rpc-external   --rpc-cors all -- --execution wasm --chain rococo --port 50343 --rpc-port 9988

Results:
image

Based on our StackExchange searching, we found that this might be a common problem:

https://substrate.stackexchange.com/questions/4301/collator-nodes-are-not-working/4302#comment9580_4302

image

Help Needed

As of 12:15 Tuesday, October 3, 2023 (around 20 hours after deployment, the blocks have not started generating yet. We will keep updating here -- please check our chainspec and WASM build above to help us figure out if we did anything wrong.

@Decentricity
Copy link

Updating the prior comment #(#1795 (comment))
--> we have finished the Sync (after 5 days of syncing!) but the blocks are not being produced still.

We did go through the documents including https://substrate.stackexchange.com/questions/1394/our-parachain-doesnt-produce-blocks-checklist -- this has alerted us that the problem might be due to our current deployment only having one collator node.

so we updated the chainspec and we are currently deploying two collator nodes: https://github.com/myriadsocial/myriad-node-parachain/tree/main/node/res

As per informed by Santi Balaguer (onboarding team), we are just setting up a new head and wasm (without re-onboarding) as the Parachain is already unlocked, and then deploying the two collator nodes above.

@semuelle
Copy link
Member

semuelle commented Oct 9, 2023

Thanks for the update, @gilangbh. I hope everything works out this time!

@Decentricity
Copy link

Decentricity commented Nov 13, 2023

Hi everyone,

just wanted to give you an update on the progress on grant delivery. I'm glad to say that we have actually finished all items under Milestone 1 and Milestone 2, except for items related to the block production issue. Here's our internal Trello as an overview of finished tasks, with red and blue tasks being M1 & M2, and pink tasks being Milestone 3:

image

In the last few weeks we've been in contact with Santi Balaguer from the SquareOne team trying to get our chain to start producing blocks. Here's a chronology of events:

  • Week 2 Oct: after the last update here -- Myriad Social Submission #1795 (comment) -- we discovered that the blocks are still not being produced, with both peers online and syncing.

  • Week 3 Oct: Santi highlighted to us that we do need to be a parachain to produce blocks, not a parathread. Additionally there was an issue with Rococo that required a fix -- which meant we needed to update from our v1.0.0 to v1.2.0. (This fix existed but needed to be deployed so before then v1.0.0 is nonworking: Do not force collators to update after enabling async backing paritytech/polkadot-sdk#1920 )

  • Week 4 Oct: We have redeployed the chain in v1.2.0 and submitted PR to request for short-term parachain slot, and finally onboarded: Rococo slot request for Myriad Social paritytech/subport#604 (comment) ~ we then bought coretime based on onDemandBaseFee: 10,000,000 which equates to 0.0001 ROC. Unfortunately our chain is still failing to produce blocks. Here are the logs from back then:
    image
    image

  • Week 1 Nov: We retried with 1_000_000_000 instead of 10_000_000. Santi confirmed that we have onboarded but still not producing blocks. Santi requested us to try running the collators locally and we complied. (We have previously tested locally but not with the newest version.)

  • Present: Local chain is producing blocks in the local relaychain! This means that our deployment on Rococo should work.

Therefore, we do need your assistance in figuring out why our Rococo chain is still not able to produce blocks.

Additional info:

Collator RPC: https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fws-rpc-1.parachain.myriad.social%2Fwebsocket%2F#/explorer

Relay Chain RPC: https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fws-rpc-2.rococo.myriad.social%2Fwebsocket%2F#/explorer

Transactions also work:
image

We are attaching the logs here for your convenience:

myriad-local-parachain.logs (2).txt

myriad-local-validator-alice.logs (2).txt

myriad-local-validator-bob.logs (2).txt

We would love to hear your thoughts on how to fix this issue so our Myriad.Social project can immediately deliver Milestone 1 and Milestone 2 to W3F and add value to the ecosystem.

@keeganquigley
Copy link
Contributor

Thanks for the update @Decentricity could you also leave an update on the open delivery PR as well? That way the evaluator will see it. Thanks!

@semuelle
Copy link
Member

@Decentricity, Rococo doesn't show a parachain with ID 4242. Can you confirm that the onboarding went through?

ainhoa-a pushed a commit to ainhoa-a/Grants-Program that referenced this pull request Jan 26, 2024
@keeganquigley
Copy link
Contributor

Hi @gilangbh how is milestone 3 coming along?

@agustinustheo
Copy link

Hi @gilangbh how is milestone 3 coming along?

Hello @keeganquigley, I'm going to help @gilangbh answer in this case.

We're still in progress on some of the Milestone 3 progress, but we'll be done soon.

Do you know how to help us with the Rococo Parachain onboarding? We're still having difficulties with that.

Also, is there a channel where I can ask for technical details for this? I can send you my Matrix ID.

@semuelle
Copy link
Member

Hi @agustinustheo, have you checked the "Technical" links in the wiki? There are some chatrooms for Substrate/Polkadot SDK, though the best place to ask questions mights still be the StackExchange.

I will reach out to some people to see if there is someone who could look into the Rococo issue.

@agustinustheo
Copy link

Hi @agustinustheo, have you checked the "Technical" links in the wiki? There are some chatrooms for Substrate/Polkadot SDK, though the best place to ask questions mights still be the StackExchange.

I will reach out to some people to see if there is someone who could look into the Rococo issue.

Hi @keeganquigley @semuelle,

Just an update, we just finished moving our servers off Google Cloud and into our own self-hosted onpremise servers.

I have made an ParaId within the new Paseo Testnet and I'm looking into the docs to try to manage deploying a runtime there.

@gilangbh has also invited me into the group chat in Element.

@semuelle
Copy link
Member

semuelle commented Apr 4, 2024

Thanks for the update, @agustinustheo. I also spoke with @SBalaguer yesterday, who promised to reach out again in case you still need help.

@keeganquigley
Copy link
Contributor

Hi @agustinustheo just checking in since its been a month or so now :)

@agustinustheo
Copy link

Hi @agustinustheo just checking in since its been a month or so now :)

Thanks for checking in we are trying still with Paseo, we already have PAS tokens but because they don't have a guide it is taking longer than expected.

taqtiqa-mark pushed a commit to taqtiqa-mark/Grants-Program that referenced this pull request Jun 6, 2024
@keeganquigley
Copy link
Contributor

Hi @agustinustheo any updates?

@gilangbh
Copy link
Contributor Author

Hi @agustinustheo any updates?

Theo is still struggling with Paseo deployment, can we ask for some technical guidance, maybe on Element chat?

@agustinustheo
Copy link

agustinustheo commented Jun 30, 2024

FYI, @gilangbh @keeganquigley

I got in contact with Hector from Paseo.

He gave me a link to the following support docs: https://github.com/paseo-network/support/blob/main/docs/rococo_migration.md

I will talk with him and try to finish this ASAP!

@agustinustheo
Copy link

Hi @keeganquigley, we finally figured out how to deploy on Paseo, and Myriad Social is now a Paseo Network Parachain!

https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fws-rpc.paseo.myriad.social#/explorer

We're ParaID 4005.
image

@keeganquigley
Copy link
Contributor

Awesome, congrats @gilangbh glad to hear it! As a reminder, when the delivery is ready it can be submitted here: https://github.com/w3f/Grant-Milestone-Delivery/pulls

@keeganquigley
Copy link
Contributor

Hi @gilangbh just a reminder that if you want to get paid out for the delivery you will need to submit the delivery at the above repo. Thanks!

@semuelle
Copy link
Member

semuelle commented Aug 6, 2024

pinging @gilangbh, @Decentricity & @agustinustheo

@agustinustheo
Copy link

Hi @semuelle and @keeganquigley

Apologies for not responding, the team has been busy with projects other than Myriad Social at the moment.

We currently have finished most of the deliverables for Milestone 3 and we're going to submit an update to you guys soon.

Right now we're having an issue because our Paseo Parachain stopped running on our servers. We resolved it on our end and now we're going to work with the Paseo Network team in order to finish the grant program!

paseo-network/support#74 (comment)

@semuelle
Copy link
Member

Thanks for the update, @agustinustheo. Looking forward to it.

@agustinustheo
Copy link

Thanks for the update, @agustinustheo. Looking forward to it.

Our Paseo Parachain is running.

I'm working on the documentation now, @gilangbh should be able to submit the recent Milestone either tomorrow or Friday.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion private Discussion of application happens in private. ready for review The project is ready to be reviewed by the committee members.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants