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

Feat/docs #24

Merged
merged 9 commits into from
Oct 16, 2024
Merged

Feat/docs #24

merged 9 commits into from
Oct 16, 2024

Conversation

driemworks
Copy link
Contributor

  • adds docusaurus docs

Copy link
Contributor

@juangirini juangirini left a comment

Choose a reason for hiding this comment

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

Great job!

- **Truly Keyless Wallet**: No mnemonic or key management required.
- **No Wallet Provider**: No reliance on a third-party provider for wallet access.
- **Infinitely Scalable**: The Murmur protocol is designed to scale without increased computational or financial overhead, limited only by the underlying blockchain.
- **Non-Custodial**: While Murmur offers API-based access for convenience, users maintain full control of their wallets at all times.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
- **Non-Custodial**: While Murmur offers API-based access for convenience, users maintain full control of their wallets at all times.
- **Non-Custodial**: Users retain complete control of their wallets at all times. Even when opting for the convenience of HTTP-API-based access, only the heavy computational tasks are outsourced, ensuring full ownership remains with the user.

Comment on lines 46 to 47
**From a Browser**
Murmur can be used from the browser by relying on the murmur.js library to communicate with an API, allowing for the creation and execution of in-app wallets. The [murmur-api](https://github.com/ideal-lab5/murmur-api) is a stateless API that simply outsources the computation required to compute and encrypt OTP codes and merkle proofs. [Murmur.js](https://github.com/ideal-lab5/murmur.js) is a javascript library that lets developers easily integrate keyless crypto wallets into their applications. In conjunction with [polkadot.js](https://polkadot.js.org/docs/api), it allows developers to easily add a 'wallet-as-a-service' mechanism to their applications.
Copy link
Contributor

Choose a reason for hiding this comment

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

murmur-api isn't stateless as it relies on the session cookies and stores the mmr_store in mongodb

Suggested change
**From a Browser**
Murmur can be used from the browser by relying on the murmur.js library to communicate with an API, allowing for the creation and execution of in-app wallets. The [murmur-api](https://github.com/ideal-lab5/murmur-api) is a stateless API that simply outsources the computation required to compute and encrypt OTP codes and merkle proofs. [Murmur.js](https://github.com/ideal-lab5/murmur.js) is a javascript library that lets developers easily integrate keyless crypto wallets into their applications. In conjunction with [polkadot.js](https://polkadot.js.org/docs/api), it allows developers to easily add a 'wallet-as-a-service' mechanism to their applications.
**From a Browser or JS app**
Murmur can be used from any JS application by relying on the **murmur.js** library to communicate with the **murmur-api**, allowing for the creation and execution of in-app wallets. The [murmur-api](https://github.com/ideal-lab5/murmur-api) is an HTTP-API that simply outsources the computation required to compute and encrypt OTP codes and merkle proofs. [Murmur.js](https://github.com/ideal-lab5/murmur.js) is a javascript library that lets developers easily integrate keyless crypto wallets into their applications. In conjunction with [polkadot.js](https://polkadot.js.org/docs/api), developers can add a 'wallet-as-a-service' mechanism to their applications with minimal effort.


**[murmur.js](https://github.com/ideal-lab5/murmur.js)**

This is an HTTP connector for the `murmur-api`, allowing javascript-based applications to easily communicate with the `murmur-api` and with the Ideal Network to create and execute murmur wallets. It does this via axios and polkadotjs, respectively.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
This is an HTTP connector for the `murmur-api`, allowing javascript-based applications to easily communicate with the `murmur-api` and with the Ideal Network to create and execute murmur wallets. It does this via axios and polkadotjs, respectively.
This is an HTTP connector for the `murmur-api` that facilitates javascript-based applications to communicate with the `murmur-api` and with the Ideal Network to create and execute Murmur wallets. It does this via `axios` and `polkadot.js`, respectively.



### Pallets
> For the Polkadot 2024 Hackathon, we specifically deliver ONLY the murmur and modified proxy pallets. All other pallets should not be considered for judging and have been developed outside the scope of the hackathon.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
> For the Polkadot 2024 Hackathon, we specifically deliver ONLY the murmur and modified proxy pallets. All other pallets should not be considered for judging and have been developed outside the scope of the hackathon.
> IMPORTANT: For the Polkadot 2024 Hackathon, we specifically deliver ONLY the Murmur and modified Proxy pallets. All other pallets should not be considered for judging and have been developed outside the scope of the hackathon.

### Pallets
> For the Polkadot 2024 Hackathon, we specifically deliver ONLY the murmur and modified proxy pallets. All other pallets should not be considered for judging and have been developed outside the scope of the hackathon.

The [murmur pallet](https://github.com/ideal-lab5/pallets/tree/main/pallets/murmur) is the core pallet that enables murmur wallets. Specifically, it takes the role of a 'prover' in the [murmur protocol](../learn/protocol.md), where it is responsible for registering uniquely named Murmur proxies and acting as an extension to the proxy pallet, where it verifies execution parameters prior to dispatching them. Specifically, this works with our modified [proxy pallet](https://github.com/ideal-lab5/pallets/tree/main/pallets/proxy), which allows virtually uncallable proxies to be defined with *no delegate*. This proxy type can only be used via the murmur pallet's proxy extrinsic, which requires valid proof of future OTP codes.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
The [murmur pallet](https://github.com/ideal-lab5/pallets/tree/main/pallets/murmur) is the core pallet that enables murmur wallets. Specifically, it takes the role of a 'prover' in the [murmur protocol](../learn/protocol.md), where it is responsible for registering uniquely named Murmur proxies and acting as an extension to the proxy pallet, where it verifies execution parameters prior to dispatching them. Specifically, this works with our modified [proxy pallet](https://github.com/ideal-lab5/pallets/tree/main/pallets/proxy), which allows virtually uncallable proxies to be defined with *no delegate*. This proxy type can only be used via the murmur pallet's proxy extrinsic, which requires valid proof of future OTP codes.
The [Murmur pallet](https://github.com/ideal-lab5/pallets/tree/main/pallets/murmur) is the core pallet that enables Murmur wallets. Specifically, it takes the role of a 'prover' in the [urmur Mprotocol](../learn/protocol.md), where it is responsible for registering uniquely named Murmur proxies and acting as an extension to the Proxy pallet, where it verifies execution parameters prior to dispatching them. Specifically, this works with our modified [Proxy pallet](https://github.com/ideal-lab5/pallets/tree/main/pallets/proxy), which allows virtually uncallable proxies to be defined with *no delegate*. This proxy type can only be used via the Murmur pallet's proxy extrinsic, which requires valid proof of future OTP codes.

![idn_pallets](../../assets/murmur_pallets.drawio.png)
</div>

Explore the repo [here](https://github.com/ideal-lab5/pallets/tree/main) to learn more about the core runtime modules that power Murmur and the Ideal Network.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
Explore the repo [here](https://github.com/ideal-lab5/pallets/tree/main) to learn more about the core runtime modules that power Murmur and the Ideal Network.
Explore the [pallets repo](https://github.com/ideal-lab5/pallets/tree/main) to learn more about the core runtime modules that power Murmur and the Ideal Network.

Explore the repo [here](https://github.com/ideal-lab5/pallets/tree/main) to learn more about the core runtime modules that power Murmur and the Ideal Network.

## Vulnerabilities, Limitations, and Future Work

Copy link
Contributor

Choose a reason for hiding this comment

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

I guess this is still WIP?

@driemworks driemworks merged commit 67b3b8f into main Oct 16, 2024
1 check passed
@driemworks driemworks deleted the feat/docs branch October 16, 2024 15:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

2 participants