-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
Aisland Docsig #1853
Aisland Docsig #1853
Conversation
Create Aisland-Docusign.md
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the application. I have one initial question and to double check: So you are only storing the hashes of the document on-chain, and you use mariadb for the rest, correct? In some cases, you say the documents are stored on the blockchain, which I guess isn't the case. Are you considering using a decentralized storage solution as an alternative for the db? Also, it looks to me like you already implemented: "Substrate module: pallet-docusign" or are you planning to integrate additional features as part of the first milestone?
Many thanks for the fast answer, probably we have not been clear in the project description, in the paragraph "Project Details" we describeb the current MVP that is available in source code and live demo. In the paragraph: |
Frankly we don't like too much IPFS since someone have to keep the pinning active. We are more inspired from ordinals/bitcoins that are storing everything on chain for low cost. |
In the first Milestone there are the new functions to store the documents on chain |
shall we change something in the PR? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm sorry for not getting back to you sooner. Yes, please feel free to update the application.
No problem, we would not change anything really, but if you think that Web3 likes to use Crust or IPFS we can change accordingly. Looking forward to your input. |
Feel free to clarify this a little bit in the application. You don't need to update the storage solution. |
we have improved the project description as suggested. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the update. I'm happy to go ahead with it and share it with the rest of the team.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@poseidon-aisland I have a few questions regarding your proposal:
-
Did you confirm that that's not problematic regarding copyright infringements?
The blockhain side is based on a custom pallet named docusign.
-
Is there a specific reason you're using vanillajs rather than a modern single page framework like react, vue or angular for implementing the web ui?
The Dapp is built on HTML,CSS and vanilla javascript for the client side.
-
Is Aisland Dao a registered legal entity?
Registered Legal Entity: Aisland Dao
We were expecting the question:), we see the "legal problems" as "legal opportunities".
Thanks for asking, we considered to use React instead of Vanilla Javascript for this project and this is the outcome of our internal discussions:
We apologize for so much troubles and explanations we are giving back. Our answer means that AISLAND is a DAO registered on the blockchain. I assume your question is, "are you registered under some centralized authority?" No, since Aisland is the decentralisation of real life in the high sea, it does not make sense to register a company under some different country. |
Upon approval of a milestone, we require an invoice containing a name, postal address and VAT ID if applicable. Will you be able to provide these? |
We can make invoice from our software house registered in UAE. |
@poseidon-aisland: Not sure if you are allowed to use the name Docusign. You might want to look into this and give your project a different name. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@poseidon-aisland thank you for the application. Besides the location and name problems, I think the application is interesting and the price charged is fair. My willingness is to approve, I'm just waiting for the final adjustments in the application.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@poseidon-aisland sorry for the delay here. Your preference for VanillaJS seems largely predicated on comparisons with React. However, other single-page application frameworks (e.g. Angular, Vue, etc.) could serve as viable alternatives to VanillaJS. I believe leveraging such a framework could result in a more maintainable codebase. In my experience, writing comprehensive applications in VanillaJS often imposes significant maintenance challenges. While you mentioned performance as a factor independent of React, IMO it's not a relevant concern for a web UI application. At least I can't think of any current real-world scenario where a React (or similar framework) app was performing poorly due to framework limitations on any widely used device but feel free to convince me otherwise. :)
Finally, I advocate for using TypeScript over JavaScript to improve code maintainability and avoid errors regarding types, property access, null pointers, etc.
Regarding the other issues (naming, entity) I agree with the overall sentiment that it'd be better to change them.
We renamed the project DocSig in the whole source code base and documentation. |
We have renamed the project and updated the legal entity. Typescript is maintained from Microft, React from Meta, Angular from Google, Vue may be the one independent,. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We have renamed the project and updated the legal entity.
Thanks, LGTM now.
Regarding the frameworks, our choices are mainly influenced from my mentor who worked in cyber security for 40 years. Reducing the dependency from "free" frameworks built and maintained from big corporation is quite a dogma. It's surely possible to make software in Javascript/html/css easy to mantain, when well documented and organised.
I agree that this can be a problem, but usually the trade-off for this little risk is made in most frontend projects. Although these frameworks are maintained by big corps, they usually still have open source licenses. Hence there's a lot of transparency that greatly mitigates the risk. Personally I think it's possible to write maintainable web applications in vanillajs but it's much more difficult than when using a suitable framework. Also, good user experience is usually much easier achieved when using them. From looking at your PoC I see quite some problems in this regards - it's rather difficult to use (see also my inline comment). If you really want to go this way, I'd like to see some past vanillajs web applications that your team has written in the past.
By the way rewriting the current code base on Vue, would extends the scope and the cost of the project. Frankly, we don't want to nullify the work already done because it will cost more than the requested grant.
I understand that it might come with some additional costs. Hiking them to $10k (+~10%) wouldn't be a problem I think.
### Overview | ||
|
||
Aisland DocSig allows to e-sign documents, exchange easily and store permanently on chain as legal proof. | ||
POC/MVP is available at [https://docsig.aisland.io](https://docsig.aisland.io) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I tested it but after initially signing it with the doc creator account I wasn't able to sign it with a counterparty account:
As you can see the status is Waiting here. If I now copy the link:
...and paste it in a different browser session to try to sign it it won't work. Instead I get an error when viewing it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks for reporting the issue. We have pushed a set of changes that should have fixed the issue above.
Co-authored-by: S E R A Y A <[email protected]>
In terms of other works done you can take a look to: There is instead a quite big code base, more than 100K lines of code between servers side and ui: Just for fun, let me share a movie script, nothing real: The big tech Evil Corp controls social networks, search engines and any kind of cloud services. A group of people stays outside their influence pushing for the decentralisation for all the stuff the Evil Corp is doing.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@poseidon-aisland thanks for your reply.
About the DEX repo you shared, I'm confused why you have a react directory while all your relevant code seems to be vanilla js/html:
The UX is arguably not very good but I understand that it's a hackathon project, so the standards are naturally much lower.
When it comes to the marketplace you shared, I'm not convinced about the UX and performance:
These kinds of problems can at least partially be solved by using one of these frameworks. For this reason I'm not convinced about your argument that performance is why you're using vanillajs. Hence, I decided not to approve it as long as you're not using one of the widely-used singlepage app frameworks.
Thanks for the patient and efforts in the analysis of our work, you did not like the movie script clearly :) Regarding the performance analysis, I cannot understand the origin of that report, by the way running the google service https://pagespeed.web.dev in comparison between https://amazon.com and https://openmarket.ae the result is very different and declares openmarket as the winner ( I am really surprised :) ) |
@poseidon-aisland I ran it on Google's PageSpeed Insights as well and the results were similar: |
good now try desktop and make the same against www.amazon.com which is for sure the reference for a market place. |
All the suggestions that you see in the tools are the same for both vanilla javascript or any framework that transpiles in javascript. If you wish faster loading you have to use less an lighter images. By the way just to resume the reasons for using Vanilla Javascript against frameworks:
|
As you see speed insight gives different results on amazon.com every time you run.Ssometimes openmarket is better and sometimes is a little bit lower. By the way considering that Amazon has an army of developers and openmarket had only our small team, you cannot deny that is a very good result and the test on the main page is not really so meaningful in term of performance. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are you familiar with Svelte, @poseidon-aisland? Might be interesting.
I agree that that's a major factor indeed. However, docsig doesn't seem to rely much on images (unlike your store). Hence, performance becomes less of a problem, correct?
In case you refer to the CDNs you mentioned in your movie script: Nobody forces you to use CDNs, even when using one of these frameworks. If the devs managing the frameworks are infiltrated by evil corp, to stay at your script, I think as long as it's open source, there is public scrutiny and I'd like to assume that enough (white hat) eyeballs rest on these code bases. If that assumption is true, I think it's a fair assumption to make that if something fishy was pushed to the affiliated repos >=1 of the white hats would notice and complain about it.
I strongly disagree - with vanillajs the codebase would usually be less structured and more repetitive, affecting maintainability. Also, the reusability is affected since most devs don't use vanillajs for writing single-page apps. |
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. |
No, but I've checked after your messages and seems quite cool and maintained from a good group of contributors. |
Right:)
On this part please take a look to:
You should use functions and/ior modules to organise well your code and reuse in the whole project or different projects. At the end the world of npmjs is based on this modularity. |
Sure, but you're writing open source code as well and it's most likely subject to less scrutiny than the big SPA web frameworks that is used by millions of developers. :)
you're comparing a language (js) with frameworks that are written in that very language here... |
Thanks for the recommendation, we will consider some additional UI framework whenever useful and not reducing the security. At the first sight, Svelte seems cool. I sincerely appreciated the fair exchange of opinions and yours are respectable. |
* Create Aisland-Docusign.md * Update Aisland-Docusign.md * Update Aisland-Docusign.md * Renamed to DocSig * Legal Entity update * Rename Aisland-Docusign.md to Aisland-DocSig.md * Update applications/Aisland-DocSig.md Co-authored-by: S E R A Y A <[email protected]> * Update Aisland-DocSig.md --------- Co-authored-by: S E R A Y A <[email protected]>
Project Abstract
Aisland Docusign allows to e-sign documents, exchange easily and store permanently on chain as legal proof.
Grant level
Application Checklist
project_name.md
).@_______:matrix.org
(change the homeserver if you use a different one)