D-Safe Library Game - for children, adults and plants

Oh, I am just annoyed that I don’t know what disqualify me.

I believe I submitted all requirements in time + I have an active repository where I update daily…

I would just like to know what disqualifies me from being seen by the judges in 2 weeks.

I think because your smart contracts still giving errors?

In the Milestones, I specified the smart contract releases on MVP3, which is in like …3days.

the solution looked good so far to me. I solved the problem I had.
Ultimately, I marathon until this week to be able to write it properly. I’ll release the contract in 3 days, and code repository is available to check it out here datapond / datapond.earth · GitLab.

I will push on it the smart contract I will be using in 3 days.

Yesterday, I mocked up designing the screens for those who actually don’t know anything about blockchain.

You need to reach level 5 to see those:

So yeah… in few days, I will have a cool smart contact to share.

1 Like

Dsafe Library could have qualified if the smart contracts would have been up on test net by May 21st. You are doing great and datapond is very informative. You can still win the bonus prizes now. Keep Building ! I know it would have been great if judges have a look on your project.

I am quite sure I had a contract up on test net, when i submitted the dev-post.
I just didn’t bother updating the address, and keep the link for reference, because this is exactly the one I am going to use for MVP3.

So yeah, the contract right now is TNJX4SiXKYTMkrdy7opLPQsoyAPMd7FgN5

This one could very much be buggy, because I wrote it last night, and I haven’t fully tested it.

// SPDX-License-Identifier: GPL-3.0

pragma solidity >=0.7.0 <0.9.0;



contract Votes_V1 {

    enum Correctness{ Incorrect, Correct, NotSet, CannotSee }
    /**
    book classifications:
     [i + 0]:Nb Visits
     [i + 1]:Nb Keep
     [i + 2]:Nb Trash
     [i + 3]:Nb Title - Wrong
     [i + 4]:Nb Title - Correct
     [i + 5]:Nb Title - Can't see
     [i + 6]:Nb Reports D-UNSAFE
     [i + 7]:Unallocated
     [i + 8]:Unallocated
     [i + 9]:Unallocated
     [i + 10]:Unallocated
    */

    /**
    topic classifications:
     [i + 0]:Nb Visits
     [i + 1]:Unallocated
     [i + 2]:Unallocated
    */


    // 250 topics,
    uint16[750] public topic_votes ;
    // 5000 books, 10 classification per books => 10*5000 = 50.000
    uint16[50000] public book_votes ;

    constructor() {
    }

    function getBookVotes(uint16 bookId) public view returns (uint16, uint16, uint16, uint16, uint16, uint16, uint16, uint16, uint16, uint16) {
        uint index = uint(bookId)*10; 
        return (book_votes[index], book_votes[index+1], book_votes[index+2], book_votes[index+3],book_votes[index+4], book_votes[index+5], book_votes[index+6], book_votes[index+7], book_votes[index+8], book_votes[index+9]);
    }

    function shareUsage(uint16[] memory topicIds, uint8[] memory nbTopicVisits, uint16[] memory bookIds,
        uint8[] memory nbBookVisits, bool[] memory keep, Correctness[] memory title,
        bool[] memory reported, uint8 level) public {

        for (uint i = 0; i < bookIds.length; i++) {
            voteBook(bookIds[i], nbBookVisits[i], keep[i], title[i], reported[i]);
        }
        for (uint i = 0; i < topicIds.length; i++) {
            voteTopic(topicIds[i], nbTopicVisits[i]);
        }
    }

    function voteBook(uint16 bookId, uint8 nbVisits, bool keep ,Correctness title,bool reported) internal {
        uint index = uint(bookId) * 10;
        book_votes[index] = nbVisits;
        if (keep == true) {
            book_votes[index+1] +=1;
        } else {
            book_votes[index+2] +=1;
        }
        if (title == Correctness.Incorrect) {
            book_votes[index+3] +=1;
        } else if(title == Correctness.Correct) {
            book_votes[index+4] +=1;
        } else if(title == Correctness.CannotSee) {
            book_votes[index+5] +=1;
        }
        if (reported) {
            book_votes[index+6] +=1;
        }
    }

    function voteTopic(uint16 topicId, uint8 nbVisits) internal {
        topic_votes[uint(topicId*3)] += nbVisits;
    }
}

And it is pretty much an upgraded version of the one that I submitted to devpost directly.

I am quite sure the contract I submitted to devpost was compiling.

The source is coming from this post where I was seeking some help a while back, and I came up with this solution, which I deployed just for devpost.

// SPDX-License-Identifier: GPL-3.0

pragma solidity >=0.7.0 <0.9.0;

contract BookVotes {

    // 5000 books, 4 classification per books => 4*5000 = 20.000
    uint16[20000] public votes ;
    
    constructor() {
    }

    function getVotes(uint16 bookId) public view returns (uint16, uint16, uint16, uint16) {
        return (votes[bookId*4], votes[bookId*4+1], votes[bookId*4+2], votes[bookId*4+3]);
    }

    function voteBook(uint16 bookId, uint8 cl) public {
        votes[bookId*4+cl]++;
    }

    function voteBooks(uint16[] memory bookIds, uint8[] memory classifications) public {
        for (uint i = 0; i < bookIds.length; i++) {
            voteBook(bookIds[i], classifications[i]);
        }
    }
}

At that time, I was using golang, porting the Vue.js Electron App to a static page generator -

Then I discovered astro.buid, which seems to have an amazing tooling. So I migrated all my custom code to astro.

This is why I was a bit busy to reach to the point where I was in the process to interact with the deployed contract - while design ideas had evolved during the full rewrite with astro that you can see online already.

This explain why my new contract version is more recent than the one I submitted to DevPost.

And the one I submitted to dev post is compiling. 100% sure.

So I really don’t know.

Yes. It is just I think your submission was missing smart contract link here on the forum could be the reason for your project not getting approved.
@SimbadMarino can explain clearly the reason behind for your project getting rejected for judging period.

I didn’t realize there was a deadline for providing a transaction ID already given to the devpost submition.

I had provided links to the contract’s source code weeks before the 21st May, and I gave a TX id to the devpost submition of that said contract.

There must be a misunderstanding.

Anyway, yes, I am not stopping, but the milestones won’t be updated anymore here, while I keep doing progress.

I will keep the forum exclusively for feedback, as I am doing progess.

1 Like

I understand. Let us wait to hear from @SimbadMarino to understand better why your project did not make it.

I noticed that prior to your comment, I’m in awe as to reason why but I believe my bosses like @Prince-Onscolo @HODL @fabsltsa would have clues as to reason why. In all, keep building.

2 Likes

Hello @lawpond hope this message finds you well, the reason for your project not to be qualifed for judging was that online site did not include an integration to the TRON or BTTC blockchain, it was just a game at the end, which is nice but in order to qualify your submitted project has to be integrated substantially to the TRON/BTTC blockchain.

We know you are a hard working developer and value that a lot, please continue working in your integration and make use of that energy and passion to participate for the bonus prizes and/or submit your project to the upcoming Season 7 :slight_smile:

Hoping to keep having you on board!

Best regards!

1 Like

Well thank you for the feedback…

I didn’t saw those were requirements anywhere.

You should try to reach level 5 to see it in a 3 days.

I would love to gather your feedback.

It’s a bit hard because I started focusing on contract integration last night - it was blocked by the 5 levels designs - that needed to be done to obtain the Apprentice key.

Am I disqualified for both milestones?

Your submission is eligible for the bonus prize only now.

Anyway, thank you for your time, I understand that there was a lot of project to go trough in this competition, and that must have been a frustrating experience to go trough buggy code being deployed at time.

1 Like

Good Project Concept :+1:
Best of luck for HackaTRON S6

1 Like

Hey team… I was testing your project and I found a topic I am interested with; which is community investment guide but I couldn’t access the article. I was only prompt with something like Trash or Keep it buttons and I am not sure what the problem could be. Can you explain this to me pls

2 Likes

Im also facing the same issue.

:dodo: :dodo: :flamingo: :feather: :parrot:
Big annoucement for MVP 3 release

I went trough the rabbit hole, and totally refactored the mobile book preview, adding a proper swipe support.

So now I have a much better support for mobile coming with the upcoming MVP 3 release.

record-swipe_phone-2024-05-26_19(2)

The upcoming release will also have a fully working tron contract integration, build within the video game progress.

I am also redesigning the footer to include links to feedback forms and contact forms to catch-up with MVP 2.

With all this in mind, MVP3 will be released in few days late on the 28th of May !

3 Likes

This is an awesome update, rooting for your projrct in community votinf :raised_hands:

1 Like

Hello there!

You need to be level 3 ( It used to be level 5 ) - to be able to access the books and unlock a TRON community key .

This game is created during this hackathon, all code i novel and it is getting built as we speak.

The book access is not implemented yet, and will come with a release somewhere mid June next month.

For the TRON community key access, this will be released in a couple days, on the 28th of May.

I will ping you then, so you get the notification, if you would like to !

2 Likes

Hello there!

You need to be level 3 ( It used to be level 5 ) - to be able to access the books and unlock a TRON community key .

This game is created during this hackathon, all code i novel and it is getting built as we speak.

The book access is not implemented yet, and will come with a release somewhere mid June next month.

For the TRON community key access, this will be released in a couple days, on the 28th of May.

I will ping you then, so you get the notification, if you would like to !

2 Likes