Git Product home page Git Product logo

cyb-snap's Introduction

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

git clone https://github.com/cybercongress/cyb-snap
cd cyb-snap
npm install
mm-snap build
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

Link

  • 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.

cyb-snap's People

Contributors

cyborgshead avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

dimakorzhovnik

cyb-snap's Issues

Migration to noble-secp256k1

Hey there. I've been digging through the network of users of noble-secp, and stumbled upon your package.

Seeing this:

  // TODO research why secp256k1 produce wrong sig
  // const sig = secp256k1.sign(hash, PRIV_KEY, {recovered: false, canonical: true})
  // const compPubKey = secp256k1.getPublicKey(PRIV_KEY, true)
  // const check = secp256k1.verify(sig, hash, compPubKey) // true!

I want to fix any issues in noble. What exactly is wrong in the snippet?

cc @litvintech

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.