filecoin-project / devgrants

👟 Apply for a Filecoin devgrant. Help build the Filecoin ecosystem!
Other
371 stars 308 forks source link

Next Step Microgrant: Collect3 - Bookmark Now. Own Forever. #1667

Closed diegotorreslopez81 closed 7 months ago

diegotorreslopez81 commented 11 months ago

1. What is your project, and what problem does it solve? (max 100 words)

Collect3 is a browser plugin that empowers users to eternalize digital content like articles or posts using web3 and IPFS technologies. Unlike traditional bookmarks or saved PDFs, Collect3 allows users to mint and store reader-friendly versions of the content on the IPFS, ensuring permanence and true ownership and doc sharing using FVM. This solves the problem of content loss due to website changes, discontinuations, or censorship, offering a robust, decentralized solution for preserving valuable information.

2. Project links

Link to Github repo: https://github.com/8infinitelabs/collect3/ Link to demo or website: (landing page) https://collect3.me/ License: MIT

Here the steps we follow to collect articles:

collect3-demo

3. a) How is IPFS, Filecoin, or related technology used in this project?

Collect3 will let users keep their content forever as NFTs, to solve this problem we need to store the articles in the IPFS using FVM Perpetual Storage. In addition, we would love to let users share their content with other users using the Data Access Control feature.

b) Is this project building with the current microgrants focus area (FVM)? (Yes or No)

Yes, we need to use FVM for Data Access Control and Perpetual Storage features.

4. How will you improve your project with this grant? What steps will you take to meet this objective?

Now, the project is working on storing the content into local storage, our next milestone is to use decentralized storage in order to let users keep their content forever.

Number Grant Deliverable Briefly describe how you will meet deliverable objectives Timeframe (within 3 months)
1. GD1 Encode and decode HTML read mode file into .car 2 weeks
2. GD2 Mint the content as NFT 2 weeks
3. GD3 Store the content on IPFS using FVM (Perpetual Storage) 3 weeks
4. GD4 Share articles with other users FVM (Data Access Control) 3 weeks
5. GD5 Users can read the article in reading mode through a pleasant user-experience 2 weeks

5. If accepted, do you agree to share monthly project updates in this Github issue for 3 months or until the project described here is complete?

Absolutely, we have experience with the other open-source projects and we would love to share with the community the Collect3 updates.

6. Does your proposal comply with our Community Code of Conduct?

Totally 🙂

7. Links and submissions

https://github.com/diegotorreslopez81/collect3/ https://collect3.me/ https://twitter.com/Collect3me

Additional questions:

diegotorreslopez81 commented 10 months ago

Hi there! Any news here? Thanks in advance!

ErinOCon commented 7 months ago

Hi @diegotorreslopez81, this microgrant has been approved! We will send an email to confirm payment details. As mentioned above, the following are required for this microgrant:

Please be in touch with any questions!

diegotorreslopez81 commented 3 months ago

Hello @eshon and friends!

We have already finished the development, here the repo:

https://github.com/8infinitelabs/collect3/tree/filecoin-final

Please, let us know next steps for the payment and if we are able to continue with the grants program. Thanks!!

eshon commented 3 months ago

Hi @diegotorreslopez81, thanks for this FVM integration!

I never see the Share link, despite waiting a few minutes + refreshing:

Screenshot 2024-06-11 at 10 13 58 AM

This is my Storage Configuration:

Screenshot 2024-06-11 at 10 19 59 AM

I've also tried Storage Option "fvm" and "filecoin" but never see the Share link appear.

Questions:

jhonnyV-V commented 2 months ago

Hi @eshon, sorry for the late reply, I tried to check our logs, but we migrated servers and looks like we don't have any logs previous to the 14 of June, could you try again?, just to generate the logs and check what is going wrong, also, I updated the extension to display the storage type to avoid ambiguities when two or more options points to the same server.

About your questions

Where are the files being stored? NFT.storage?

we will update the README to add this information, currently depending on the option

sia -> we use our renterd node to rent the file storage filecoin -> we indeed do use nft.storage fvm -> we use lighthouse api, they handle most of the parts to make the deals fvmEncrypted -> we also use lighthouse

Can you link to the smart contract on FVM? I don't see any txn requests via MetaMask, only 1 signature request for the encryption. Is NFT minting happening via the server?

I currently do not have the link to the contract on fvm that handles the perpetual storage part, but I think I could get it, and for the nft contract, they do not get minted automatically, currently we do not support minting nfts on the fvmEncrypted, to try to mint you should use the sia, fvm or filecoin options, after saving the article, below the read link, a new link that says mint should appear, that will take you to the minting page, after the minting there will be a button that takes you to the block explorer to see the tx

I've also tried Storage Option "fvm" and "filecoin" but never see the Share link appear.

the share option is only available with the fvmEncrypted

jhonnyV-V commented 2 months ago

@eshon I did try a bit to find the cause of your issue, but I can find yet what failed at that moment, the reason that you don't see the share link is because something failed when uploading the encrypted file to lighthouse, but if you try again it should currently work

https://github.com/filecoin-project/devgrants/assets/46012817/f941add7-cdf6-419d-99c3-58d12e57a685

eshon commented 2 months ago

@jhonnyV-V @diegotorreslopez81

FYI - I just tried setting up an fvmEncrypted storage option and never see the Share option. Tried setting up another fvmEncrypted instance and trying different blog websites but still never see it. (Also In your video, the Share link always appears along with Mint.) Can you guys just fix this Share link issue?

Screenshot 2024-07-05 at 1 04 52 PM Screenshot 2024-07-05 at 1 04 09 PM

But I was able to mint an NFT. I am wondering who the NFT was sent to here. I am the from address in the txn below. Who is the to address? I never got a dialogue to add an to address when minting.

https://calibration.filfox.info/en/message/0x116f2ab0b19f77eee5b47433d17f63ee901b876b64355f68886b77ef26f04b13?t=1

But please just fix the Share option, overall the minting seems to work.

jhonnyV-V commented 2 months ago

Hi @eshon, I noticed a few things, the reason of why that feature is not working for you, it appears to be that for some reason that I will look at, when you try to use the fvmEncrypt option is internally setting it to filecoin, it turns out that due to changes in the nft.storage api it is not working currently (as we now have lighthouse maybe we could drop support for it at the moment), I will try to fix this issue, another thing that I noticed is that you are not using the latest version of the extension, there is some new internal changes and some handy fixes like updating the storage status when you click make main, and displaying the storage type

jhonnyV-V commented 2 months ago

as we reworked the extension internals, it may be possible that the issue is fixed, but I'm not sure yet, when you try to compile the extension again remember first to install all dependencies, also you will need to make a small change to the .env of the extension, you can copy the .env.example

jhonnyV-V commented 2 months ago

I forgot to say, to address in the tx is the contract, the from address is the one marked as an owner of the nft

jhonnyV-V commented 2 months ago

and currently nft.storage (appears as filecoin) option will be marked as not supported by the https://node.collect3.me, but everything else should be working fine with the latest extension version

eshon commented 3 weeks ago

@ErinOCon - This microgrant project has been successfully completed and is ready to proceed to final payout.