Skip to content

patractlabs/metis

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Metis

Metis is inspired by the OpenZeppelin-Contracts from the Ethereum ecosystem.

Metis will be the Wasm contract standard library developed by Patract Labs. Patract Labs will work with community forces to formulate various Wasm contract standards, develop corresponding implementations of ink! and Ask! versions, and conduct audits by professional institutions.

At now, Metis just provide support for ink! contract. It will develop the corresponding version of the ink! implementation for each newly generated ink! contract standard. And Metis will be audited at the same time to ensure the security of the contract. Metis will also be able to be easily searched and downloaded just like Solidity development, and integrated into the developer's project as a Redspot plug-in.

To use the Metis, can see the documentation.

Proposal(M1): https://polkadot.polkassembly.io/post/469

Use

Since ink! is under development, developers need to use metis according to their own situation:

  1. developers use ink! dependencies from crates.io:

    e.g.:

    [dependencies]
    ink_lang = { version = "3.0.0-rc5", default-features = false }

    For this situation, Metis provides different branch/tag to support different ink! version. Like here ink! version is 3.0.0-rc5, then Metis provides branch ink/3.0.0-rc5 to allow developer to use the same ink! source. In this branch, Metis' dependencies for ink! will point to ink_lang = { version = "3.0.0-rc5", default-features = false } as well:

    [dependencies]
    ink_lang = { version = "3.0.0-rc5", default-features = false }
    metis_lang = { git = "https://github.com/patractlabs/metis", branch = "ink/3.0.0-rc5", default-features = false }

    For now, the relationship between Metis branch/tag and ink! release version are following:

    • ink!: 3.0.0-rc5 | Metis branch: ink/3.0.0-rc5
  2. developers use ink! dependencies from github repo:

    e.g.:

    [dependencies]
    ink_lang = { version = "3.0.0-rc5", git = "https://github.com/paritytech/ink", default-features = false }

    For this situation, developer should use Metis master branch directly. In master, Metis' dependencies for ink! will be github repo as well.

    [dependencies]
    ink_lang = { version = "3.0.0-rc5", default-features = false }
    metis_lang = { git = "https://github.com/patractlabs/metis", default-features = false }