项目作者: cybercongress

项目描述 :
cyb snap for metamask / cyber and cosmos wallet
高级语言: JavaScript
项目地址: git://github.com/cybercongress/cyb-snap.git
创建时间: 2020-02-18T08:33:38Z
项目社区:https://github.com/cybercongress/cyb-snap

开源协议:

下载


cyb snap

Yes, you can use Metamask to communicate and create transactions in cosmos-sdk based chains.

About

This is snap. Snaps bring endless possibilities to Metamask and rocks web3 users’ experience/adoption. Read Metamask team announcment.

cyb snap allows you to communicate with cyber - consensus supercomputer for computing relevance in The Great Web or, simply, decentralized Google. #fuckgoogle

cyb snap allows you to create cyberlinks + send tokens, and perform staking, distribution and governance actions in cyber/cosmos-sdk based networks.

cyb snap going to be integrated to cyber.page soon, follow dot-cyber release board

PS: as cyber based on cosmos-SDK it is the first case of using Metamask and Snaps to work with the non-Ethereum chain and to use different cryptography.

Security

Metamask plugin system or snaps main core features are the advanced keys system and permissions-based access to extended API. It generates unique private keys for a given snap from your core mnemonic and snap origin URL. Snap works using specially generated for their domain keys, contract accounts.

Prepare

First, you need to install MetaMask Snaps Beta. Read the Wiki.

Recommend local build against developer branch (maybe broken, worked on 220784cafd2e22bed083e385ef247810660966db) and install unpacked extension to your Chrome.

Second, you need to install Snaps-CLI to build and serve cyb snap locally.

Development

  1. git clone https://github.com/cybercongress/cyb-snap
  2. cd cyb-snap
  3. npm install
  4. mm-snap build
  5. mm-snap serve

Open localhost:8084 and press connect. Metamask will ask you to add snap and provide needed to snap permissions.

Note to devs: mm-snap serve will update your front-side but to update snap’s bundle code, and you need to build bundle after changes, remove plugin and permissions from metamask and install them again pressing connect.

Status

For developers and highly motivated users from metamask/cyber/cosmos community.

  • All end-user msgs support
  • Build/sign txs
  • Node API/LCD calls
  • State management for multiple chain support
  • Basic frontend as a playground

Implemented messages

  • cyberd/Link

    Bank

  • cosmos-sdk/MsgSend
  • cosmos-sdk/MsgMultiSend

    Staking

  • cosmos-sdk/MsgDelegate
  • cosmos-sdk/MsgBeginRedelegate
  • cosmos-sdk/MsgUndelegate

    Distribution

  • cosmos-sdk/MsgWithdrawDelegationReward

    Governance

  • cosmos-sdk/MsgSubmitProposal
  • cosmos-sdk/TextProposal
  • cosmos-sdk/CommunityPoolSpendProposal
  • cosmos-sdk/ParameterChangeProposal
  • cosmos-sdk/MsgDeposit
  • cosmos-sdk/MsgVote

Roadmap

  • cyber support
  • cosmos-sdk based chains support
  • dynamic chain configuration
  • dynamic node connection configuration
  • apply for dev grant from cosmos community pool
  • migration to full-featured cosmos client library
  • versioning
  • cosmwasm support
  • descrease dependency list
  • await official metamask release with snap support
  • IKC/IBC protocols support

Contribute

You are invited to contribute new features, fixes, or updates - large or small. We are always thrilled to receive pull requests and do our best to process them as fast as we can.

Gitcoin



License

Cyber License - Don’t believe, don’t fear, don’t ask.