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

[Bounty] Solana and Serum in Maskbook #1722

Closed
yisiliu opened this issue Oct 14, 2020 · 78 comments
Closed

[Bounty] Solana and Serum in Maskbook #1722

yisiliu opened this issue Oct 14, 2020 · 78 comments

Comments

@yisiliu
Copy link
Member

yisiliu commented Oct 14, 2020

Introduction and Background

Maskbook is designed and developed as a chain agnostic tool, which relies on no chains and in another word, supports all the chains. Currently, Maskbook is focusing on DAPPs on Ethereum but we would like to integrate more chains into our extension to provide users more options. Therefore, we are redesigning our internal wallet into a multi-chain wallet and by the time the new design is finalized, we would like to start integrating new blockchains other than Ethereum.

Content

Solana Wallet

Solana is a scalable and high performance blockchain. We would like to integrate their wallet creation, management and support relevant on-chain operations. Wallet integration is considered as the phase two of this bounty and we are expecting this to start once we release our wallet standard.

Serum UI Integration

Serum is a decentralized on-chain trading platform which supports both orderbook and swap. We would like to integrate its interface in our trader plugin. It allows users to hover their mouse on any token hashtag starting with "$" on Twitter to view its price, trending and a uniswap exchange interface if there is a pair. Integrating Serum, we can support more options other than uniswap so that users could directly trade tokens with Solana without leaving Twitter. This is considered the phase two.

Deadlines

TBD.

@gitcoinbot
Copy link

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


This issue now has a funding of 5000.0 USDC (5000.0 USD @ $1.0/USDC) attached to it as part of the solana-labs fund.

@aahutsal
Copy link

Why not use the WalletConnect protocol as the base?

@yisiliu
Copy link
Member Author

yisiliu commented Oct 28, 2020

@aahutsal We have already integrated WalletConnect as an option in our internal wallet but we still need to have our own wallet for users who don't have WalletConnect. And, does WalletConnectsupport Solana or any other blockchains? In our new wallet architecture, we are not limited to any specific chain to support all the exciting systems.

@Tedko
Copy link
Member

Tedko commented Oct 28, 2020

Why not use the WalletConnect protocol as the base?

@yisiliu @aahutsal yeah i think WalletConnect dont support SOL or other chain.

@aahutsal
Copy link

aahutsal commented Oct 28, 2020

@Tedko @yisiliu by default WalletConnect supports only ETH (aka ERC20) network. But with some modifications we've done for NEO network, it supports non-ERC20. That's how I've found your project request on gitcoin.co and placed my bid there.
Placing my Work Plan here:

Work Plan

Since I've already worked on a similar project for NEO blockchain (proof: https://github.com/aahutsal/neo-walletconnect) I'd warn that you go the wrong path. There's a WalletConnect protocol designed for the mature Ethereum network. There is a bunch of wallets already created that works with WalletConnect protocol with Ethereum and other ERC20 coins. For the NEO network project, my task was to create some architecture that would allow WalletConnect capable wallets to work with non-ERC20 blockchain (NEO), which I've done.

In the repository, you would find the generic architecture described and some dockerized components we use to run NEO blockchain privately. Working code is not submitted due to NDA, of course. I'd basically suggest considering this proposed approach, save your time, monies and get a much better WalletConnect capable engine (which is de-facto the only world standard for now for connecting dApp -> WalletConnect -> Wallet).

@yisiliu
Copy link
Member Author

yisiliu commented Oct 28, 2020

@aahutsal sounds great! My next questions will be 1. does it support all elliptic curves or even RSA(eg Arweave)? and 2. can it run as a local service with a local storage so that users won't need to install WalletConnect wallets? Thank you!

@aahutsal
Copy link

aahutsal commented Oct 28, 2020

@yisiliu

  1. Currently it does support only a limited set of requirements NEO network guys requested. But since I see the need for other blockchains in similar integration we might probably start a new project (aka grant) on gitcoin.co, collect funds, gather requirements, and implement all other features requested. Basically it's hardly using code injection (e.g. Provider feature in terms of WalletConnect. Think crypto algorithms could also be injected if we properly implement the architecture.
  2. I've updated my previous comment, please, check it open repo and read diagrams explaining architecture. Actually, it's all you need for now it seems.

@yisiliu
Copy link
Member Author

yisiliu commented Oct 28, 2020

@aahutsal thanks bro! I am quite busy this week but I will try my best to explore your repo and will get back to you soon. I really appreciate your proposal and I am looking forward to our potential cooperation!

@aahutsal
Copy link

aahutsal commented Oct 28, 2020

@yisiliu I'm also leaving tomorrow till Monday. Schedule the meeting if you wish here: https://calend.ly/aahutsal

@yisiliu
Copy link
Member Author

yisiliu commented Oct 28, 2020

@aahutsal Booked on Nov 3rd! Thanks.

@gitcoinbot
Copy link

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


Work has been started.

These users each claimed they can complete the work by 266 years from now.
Please review their action plans below:

1) developerfred has been approved to start work.

As a user and admirer of the product, I would love to work on that bounty and enable integration with new portfolios and UIs. Starting with Serum and Solana. I'm excited to start this bounty.
2) aahutsal has been approved to start work.

Since I've already worked on a similar project for NEO blockchain (proof: https://github.com/aahutsal/neo-walletconnect) I'd warn that you go the wrong path.

There's a WalletConnect protocol designed for the mature Ethereum network. There is a bunch of wallets already created that works with WalletConnect protocol with Ethereum and other ERC20 coins.

For the NEO network project, my task was to create some architecture that would allow WalletConnect capable wallets to work with non-ERC20 blockchain (NEO), which I've done. In the repository, you would find the generic architecture described and some dockerized components we use to run NEO blockchain privately.

Working code is not submitted due to NDA, of course. I'd basically suggest considering this proposed approach, save your time, monies and get a much better WalletConnect capable engine (which is de-facto the only world standard for now for connecting dApp -> WalletConnect -> Wallet).

Learn more on the Gitcoin Issue Details page.

@gitcoinbot
Copy link

gitcoinbot commented Nov 2, 2020

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


Work has been started.

These users each claimed they can complete the work by 264 years, 6 months from now.
Please review their action plans below:

1) developerfred has been approved to start work.

As a user and admirer of the product, I would love to work on that bounty and enable integration with new portfolios and UIs. Starting with Serum and Solana. I'm excited to start this bounty.
2) ult-processor has been approved to start work.

I really admire this project and I will like to contribute to it.

Learn more on the Gitcoin Issue Details page.

@aahutsal
Copy link

aahutsal commented Nov 3, 2020

@aahutsal Booked on Nov 3rd! Thanks.

@yisiliu thanks for approval. Unfortunately, I have been late for a meeting that been scheduled 30 mins ago. Can we reschedule for today afternoon?

@yisiliu
Copy link
Member Author

yisiliu commented Nov 3, 2020

@aahutsal yes I did email you for the link lol. I am not sure if I am gonna make it this afternoon. Can we do it tomorrow afternoon?

@aahutsal
Copy link

aahutsal commented Nov 3, 2020

sure, tomorrow would work for me

@aahutsal
Copy link

aahutsal commented Nov 3, 2020

@aahutsal yes I did email you for the link lol. I am not sure if I am gonna make it this afternoon. Can we do it tomorrow afternoon?

Please, schedule yourself: https://calendly.com/ahutsal

@aahutsal
Copy link

aahutsal commented Nov 3, 2020

@aahutsal yes I did email you for the link lol. I am not sure if I am gonna make it this afternoon. Can we do it tomorrow afternoon?

Okay. You booked Friday. Would work for me. Tty then.

@yisiliu
Copy link
Member Author

yisiliu commented Nov 3, 2020

@aahutsal That wasn't me. I just booked tomorrow.

@aahutsal
Copy link

aahutsal commented Nov 3, 2020

@aahutsal That wasn't me. I just booked tomorrow.

My bad. That was not you :) See you've booked tomorrow. Talk then.

@aahutsal
Copy link

aahutsal commented Nov 5, 2020

@yisiliu could you please clarify how many "new blockchains other than Ethereum" should be integrated with the scope of a current project?

@yisiliu
Copy link
Member Author

yisiliu commented Nov 5, 2020

@aahutsal for now we are looking at: Ethereum, Polkadot and its parachains, Solana, NEAR, and Arweave(quite different tbh).

@aahutsal
Copy link

aahutsal commented Nov 6, 2020

By Ethereum you mean Ethereum only, or all ERC20/ERC721? It's quite a lot, @yisiliu !

@developerfred
Copy link
Contributor

developerfred commented Nov 8, 2020

@yisiliu and @Tedko What is the Maskbook Solana wallet for fee for swaps made on twitter?

@Tedko
Copy link
Member

Tedko commented Nov 9, 2020

By Ethereum you mean Ethereum only, or all ERC20/ERC721? It's quite a lot, @yisiliu !

For Ethereum it will be a full useable wallet for our mask.io internal wallet. That include erc20/721; try the latest ones you can actually see we already have 721 beta.

@aahutsal
Copy link

aahutsal commented Nov 17, 2020

@Tedko @yisiliu I'm working on docker-compose that's intended to run all nodes for blockchains listed (Ethereum, Polkadot, Solana, NEAR, and Arweave). My PIXELBOOK 2019 with 16GB RAM gets slow running all of that. Besides that - it would take ages and gigabytes to sync nodes running.

I think we should consider moving these nodes to some public IP and probably scaling them horizontally (similar to what Infura.io does for Ethereum) - which would be a must for your wallet (which is a browser extension by design). That's going to be a separate service. I can consider participation.

@developerfred
Copy link
Contributor

@aahutsal try use gitpod.io for running your nodes.

@aahutsal
Copy link

@aahutsal try use gitpod.io for running your nodes.

Thanks, @developerfred . I'll ask you once I need your assistance.

@aahutsal

This comment has been minimized.

@yisiliu

This comment has been minimized.

@aahutsal
Copy link

aahutsal commented Dec 25, 2020

@yisiliu thank you ;) Silly me - slept for 2 hrs only 👍

@aahutsal
Copy link

aahutsal commented Dec 25, 2020

I've hit problems running Solana build in dev mode (with rust installed). Created issue in solana-web3.js/#1008

@aahutsal
Copy link

You can put the box down for now, if it's costly

@aahutsal
Copy link

@yisiliu can you please attach one more SSD device for 80Gb at the least?
There's no room on / partition it seems even to build Solana. I've already avoided solana-web3.js/#1008 bug reported to them before.

@yisiliu
Copy link
Member Author

yisiliu commented Dec 29, 2020

@aahutsal sorry about the late - I have extended the disk space to 160GB. Check it now.

@aahutsal
Copy link

Thanks. That's enough!

@aahutsal
Copy link

aahutsal commented Jan 4, 2021

@yisiliu @Tedko could someone open me 3376, 2377 ipv4/ipv6 TCP ports on AWS firewall? Needed for docker swarm and docker-machine. For security reasons it's better to run openvpn to access that box, but... would you bother with it? If so - open 1194 port (UDP) and lemme know. I'll setup openvpn server and share the .opvn file with you.

@yisiliu
Copy link
Member Author

yisiliu commented Jan 4, 2021

@aahutsal fair enough - expect it to be done in 5 mins

@aahutsal
Copy link

aahutsal commented Jan 4, 2021

thx @yisiliu For now I'm using SSH tunneling ;)

@yisiliu
Copy link
Member Author

yisiliu commented Jan 4, 2021

Custom TCP | TCP | 3376 | 0.0.0.0/0
Custom TCP | TCP | 2377 | 0.0.0.0/0

@aahutsal done

@aahutsal
Copy link

aahutsal commented Jan 4, 2021

already saw it and successfully joined the swarm, thx

@aahutsal
Copy link

aahutsal commented Jan 4, 2021

@yisiliu trader plugin link is broken in Serum task description.
Screenshot 2021-01-04 at 1 54 54 PM
Although it's phase II, could you please point me there?

@yisiliu
Copy link
Member Author

yisiliu commented Jan 4, 2021

@aahutsal https://github.com/DimensionDev/Maskbook/tree/master/packages/maskbook/src/plugins/Trader

@aahutsal
Copy link

aahutsal commented Jan 5, 2021

@yisiliu @Tedko @septs
Please, also open 8899, 8900 ports for direct solana-validator access and 1194 UDP port for OpenVPN

Would also need that:

[default]
aws_access_key_id = MY-ACCESS-KEY-ID
aws_secret_access_key = MY-SECRET-KEY

@gitcoinbot
Copy link

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


Work for 5000.0 USDC (5000.00 USD @ $1.0/USDC) has been submitted by:


@aahutsal
Copy link

@yisiliu could you confirm ports will be opened and could you share AWS access key with me, so I can easily manage AWS node dedicated for that project (you can create an AWS access key with restricted access for that purpose).

Also, check your email. Ason seems keeping quiet.

@aahutsal
Copy link

aahutsal commented Feb 1, 2021

@yisiliu could you please answer me via email or here?

@aahutsal
Copy link

@yisiliu could you check the email I sent?

@Tedko
Copy link
Member

Tedko commented Jun 18, 2021

hey guys @aahutsal @yisiliu any updates?

@aahutsal
Copy link

@Tedko should I speak to you directly now, or keep working with @yisiliu ?

@aahutsal
Copy link

aahutsal commented Jul 5, 2021

@Tedko could you please reply my email I sent like 2+ weeks ago?

@Tedko
Copy link
Member

Tedko commented Jul 13, 2021

will loop in @tzhan28 in case we're not responding here @aahutsal :)

@aahutsal
Copy link

aahutsal commented Aug 3, 2021

@yisiliu @Tedko Meeting is over, seems I've shown everything we have by now. Now I need to contact of the guy who is working on UI for v2.0

@aahutsal
Copy link

aahutsal commented Aug 6, 2021

@guanbinrui Could we please talk on Discord about UI additions for v2.0? I've already sent you DM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants