643 lines
29 KiB
HTML
643 lines
29 KiB
HTML
<!--lint disable double-link-->
|
||
<h1 id="awesome-move-awesome">Awesome Move <a
|
||
href="https://awesome.re"><img src="https://awesome.re/badge.svg"
|
||
alt="Awesome" /></a></h1>
|
||
<blockquote>
|
||
<p>A curated list of code and content from the <a
|
||
href="https://github.com/move-language/move">Move</a> programming
|
||
language community.</p>
|
||
</blockquote>
|
||
<p>Move is a programming language for writing safe smart contracts
|
||
originally developed at Facebook to power the Libra blockchain. Move is
|
||
designed to be a platform-agnostic language to enable common libraries,
|
||
tooling, and developer communities across diverse blockchains with
|
||
vastly different data and execution models. Move’s ambition is to become
|
||
the “JavaScript of web3” in terms of ubiquity–when developers want to
|
||
quickly write safe code involving assets, it should be written in
|
||
Move.</p>
|
||
<h2 id="contents">Contents</h2>
|
||
<ul>
|
||
<li><a href="#overview">Overview</a></li>
|
||
<li><a href="#move-powered-blockchains">Move-Powered
|
||
Blockchains</a></li>
|
||
<li><a href="#books">Books</a></li>
|
||
<li><a href="#tutorials">Tutorials</a></li>
|
||
<li><a href="#community">Community</a></li>
|
||
<li><a href="#code">Code</a>
|
||
<ul>
|
||
<li><a href="#fungible-tokens">Fungible Tokens</a></li>
|
||
<li><a href="#non-fungible-tokens">Non-Fungible Tokens</a></li>
|
||
<li><a href="#decentralized-identity">Decentralized Identity</a></li>
|
||
<li><a href="#defi">DeFi</a></li>
|
||
<li><a href="#socialfi">SocialFi</a></li>
|
||
<li><a href="#on-chain-governance">On-Chain Governance</a></li>
|
||
<li><a href="#cross-chain-bridge">Cross-Chain Bridge</a></li>
|
||
<li><a href="#accounts">Accounts</a></li>
|
||
<li><a href="#frameworks">Frameworks</a></li>
|
||
<li><a href="#libraries">Libraries</a></li>
|
||
<li><a href="#miscellaneous">Miscellaneous</a></li>
|
||
</ul></li>
|
||
<li><a href="#tools">Tools</a></li>
|
||
<li><a href="#ides">IDEs</a></li>
|
||
<li><a href="#package-managers">Package Managers</a></li>
|
||
<li><a href="#wallets">Wallets</a></li>
|
||
<li><a href="#sdks">SDKs</a></li>
|
||
<li><a href="#papers">Papers</a>
|
||
<ul>
|
||
<li><a href="#language-design">Language Design</a></li>
|
||
<li><a href="#static-analysis-and-verification">Static Analysis and
|
||
Verification</a></li>
|
||
</ul></li>
|
||
<li><a href="#videos">Videos</a></li>
|
||
<li><a href="#slides">Slides</a></li>
|
||
<li><a href="#podcasts">Podcasts</a></li>
|
||
<li><a href="#blog-posts">Blog Posts</a></li>
|
||
<li><a href="#security">Security</a></li>
|
||
</ul>
|
||
<h2 id="overview">Overview</h2>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/move-language/move/tree/main/language/tools/move-cli#installation">Installation</a></li>
|
||
<li><a
|
||
href="https://github.com/mystenlabs/awesome-move/blob/main/docs/problem_statement.md#problem-statement">Problem
|
||
Statement</a></li>
|
||
</ul>
|
||
<h2 id="move-powered-blockchains">Move-Powered Blockchains</h2>
|
||
<ul>
|
||
<li><a href="https://github.com/MystenLabs/sui">Sui</a> - A
|
||
next-generation smart contract platform with high throughput, low
|
||
latency, and an asset-oriented programming model powered by the Move
|
||
programming language (in <a
|
||
href="https://medium.com/mysten-labs/sui-devnet-public-release-a2be304ff36b">devnet</a>).</li>
|
||
<li><a href="https://github.com/OLSF/libra">0L</a> - A reference
|
||
implementation of a neutral replicated state machine. Forked from the
|
||
Libra/Diem technologies (in <a
|
||
href="https://0l.network/">mainnet</a>).</li>
|
||
<li><a href="https://github.com/starcoinorg/starcoin">Starcoin</a> - A
|
||
smart contract blockchain network that scales by layering (in <a
|
||
href="https://stcscan.io/">mainnet</a>).</li>
|
||
<li><a href="https://github.com/aptos-labs/aptos-core">Aptos</a> -
|
||
Aptos-core strives towards being the safest and most scalable layer one
|
||
blockchain solution (in <a
|
||
href="https://explorer.aptoslabs.com/?network=mainnet">mainnet</a>).</li>
|
||
<li><a href="https://github.com/pontem-network/pontem">Pontem</a> -
|
||
Substrate based parachain with MoveVM onboard (in <a
|
||
href="https://polkadot.js.org/apps/?rpc=wss://testnet.pontem.network/ws#/explorer">testnet</a>).</li>
|
||
<li><a href="https://github.com/celo-org/celo-blockchain">Celo</a> -
|
||
Blockchain with EVM and MoveVM (<a
|
||
href="https://www.businesswire.com/news/home/20210921006104/en/Celo-Sets-Sights-On-Becoming-Fastest-EVM-Chain-Through-Collaboration-With-Mysten-Labs">coming
|
||
soon</a>).</li>
|
||
<li><a href="https://github.com/diem/diem">Diem</a> - The original Move
|
||
based blockchain from Meta (form. Libra by Facebook)
|
||
(discontinued).</li>
|
||
<li><a href="https://github.com/chainx-org/ChainX">ChainX</a> -
|
||
Bitcoin’s layer2 smart contract network has already supported WASM and
|
||
EVM, and is supporting MoveVM (in <a
|
||
href="https://scan.chainx.org">mainnet</a>).</li>
|
||
</ul>
|
||
<h2 id="books">Books</h2>
|
||
<ul>
|
||
<li><a href="https://move-language.github.io/move/">Move Book</a> - Move
|
||
book maintained by the Move core team (<a
|
||
href="https://github.com/move-language/move/tree/main/language/documentation/book/translations/move-book-zh">中文</a>).</li>
|
||
<li><a href="https://move-book.com/">Move Book</a> - Move book
|
||
maintained by <a href="https://github.com/damirka"><span
|
||
class="citation" data-cites="damirka">@damirka</span></a> (<a
|
||
href="https://move-book.com/cn/">中文</a>).</li>
|
||
<li><a href="https://www.move-patterns.com/">Move Patterns</a> - A book
|
||
on Move software design patterns maintained by <a
|
||
href="https://github.com/villesundell"><span class="citation"
|
||
data-cites="villesundell">@villesundell</span></a>.</li>
|
||
<li><a href="https://examples.sui.io/">Sui Move by Example</a> - A book
|
||
on the Sui Move variant maintained by <a
|
||
href="https://github.com/MystenLabs"><span class="citation"
|
||
data-cites="MystenLabs">@MystenLabs</span></a>.</li>
|
||
</ul>
|
||
<h2 id="tutorials">Tutorials</h2>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/move-language/move/tree/main/language/documentation/tutorial">Implementing,
|
||
testing, and verifying a fungible token</a> - Maintained by the Move
|
||
core team.</li>
|
||
<li><a
|
||
href="https://docs.sui.io/build/programming-with-objects">Programming
|
||
with objects</a> - Maintained by the Sui team.</li>
|
||
<li><a
|
||
href="https://starcoinorg.github.io/starcoin-cookbook/docs/move/">Move
|
||
and SmartContract Development</a> - Maintained by the Starcoin
|
||
team.</li>
|
||
<li><a href="https://imcoding.online/courses/move-language">Move
|
||
Language</a> - Interactive Move language course, free for everyone,
|
||
maintained by <a href="https://imcoding.online">imcoding.online</a> (<a
|
||
href="https://imcoding.online/courses/move-language?lng=zh">中文</a>).</li>
|
||
</ul>
|
||
<h2 id="community">Community</h2>
|
||
<ul>
|
||
<li><a href="https://discord.gg/cPUmhe24Mz">Move Language
|
||
Discord</a></li>
|
||
<li><a href="https://discord.gg/sui">Move @ Sui by Mysten Labs
|
||
Discord</a></li>
|
||
<li><a href="https://discord.gg/0lnetwork">Move @ 0L Discord</a></li>
|
||
<li><a href="https://discord.gg/starcoin">Move @ Starcoin
|
||
Discord</a></li>
|
||
<li><a href="https://discord.gg/aptoslabs">Move @ Aptos Discord</a></li>
|
||
<li><a href="https://move-china.com">MoveChina</a> - The largest Chinese
|
||
community for the Move programming language.</li>
|
||
</ul>
|
||
<h2 id="code">Code</h2>
|
||
<p>Code written in Move.</p>
|
||
<h3 id="fungible-tokens">Fungible Tokens</h3>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/MystenLabs/sui/tree/main/sui_programmability/examples/fungible_tokens">Fungible
|
||
token examples</a> - Multiple example token implementations from
|
||
Sui.</li>
|
||
<li><a
|
||
href="https://github.com/move-language/move/tree/main/language/documentation/examples/experimental/basic-coin">BasicCoin</a>
|
||
- A toy implementation of an <a
|
||
href="https://ethereum.org/en/developers/docs/standards/tokens/erc-20/">ERC20</a>-like
|
||
fungible token.</li>
|
||
<li><a
|
||
href="https://github.com/OLSF/libra/blob/main/language/diem-framework/modules/Diem.move">Diem</a>
|
||
- An ERC20-like token with permissioned minting/burning, see also this
|
||
<a href="https://github.com/diem/dip/blob/main/dips/dip-20.md">spec</a>.
|
||
Deployed on 0L.</li>
|
||
<li><a
|
||
href="https://github.com/starcoinorg/starcoin-framework/blob/main/sources/Token.move">Token</a>
|
||
- Another ERC20-like Token. Deployed on Starcoin.</li>
|
||
<li><a
|
||
href="https://github.com/OLSF/libra/blob/main/language/diem-framework/modules/0L/GAS.move">GAS</a>
|
||
- A token that instantiates the Diem standard above. Deployed on
|
||
0L.</li>
|
||
<li><a
|
||
href="https://github.com/starcoinorg/starcoin-framework/blob/main/sources/STC.move">STC</a>
|
||
- A token that instantiates the Starcoin standard above. Deployed on
|
||
Starcoin.</li>
|
||
<li><a
|
||
href="https://github.com/Elements-Studio/starswap-core/blob/master/sources/gov/STAR.move">STAR</a>
|
||
- A governance token of Starswap dApp that powers the AMM+DEX ecosystem.
|
||
Deployed on Starcoin.</li>
|
||
<li><a
|
||
href="https://github.com/Elements-Studio/poly-stc-contracts/blob/master/sources/asset/erc20/XUSDT.move">XUSDT</a>
|
||
- A mapped assets of USDT on Starcoin.</li>
|
||
<li><a
|
||
href="https://github.com/Elements-Studio/poly-stc-contracts/blob/master/sources/asset/erc20/XETH.move">XETH</a>
|
||
- A mapped assets of ETH on Starcoin.</li>
|
||
<li><a href="https://github.com/wenwenprotocol/wen-protocol">WEN
|
||
stablecoin</a> - Deployed on Starcoin.</li>
|
||
<li><a href="https://github.com/BFlyFinance/FAI">FAI stablecoin</a> - An
|
||
over-collateralized stable coin deployed on Starcoin.</li>
|
||
<li><a href="https://github.com/BFlyFinance/FLY">FLY stablecoin</a> - An
|
||
implementation of forked OHM that deployed on Starcoin.</li>
|
||
<li><a
|
||
href="https://github.com/OLSF/libra/blob/main/language/diem-framework/modules/XDX.move">Synthetic
|
||
token backed by a basket containing a reserve of other tokens</a> - From
|
||
Diem.</li>
|
||
<li><a
|
||
href="https://github.com/OmniBTC/OmniBridge/blob/main/aptos/bridge/sources/xbtc.move">XBTC</a>
|
||
- BTC mirror asset on Aptos.</li>
|
||
<li><a
|
||
href="https://github.com/OmniBTC/OmniBridge/blob/main/sui/bridge/sources/xbtc.move">XBTC</a>
|
||
- BTC mirror asset on Sui.</li>
|
||
</ul>
|
||
<h3 id="non-fungible-tokens">Non-Fungible Tokens</h3>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/MystenLabs/sui/tree/main/sui_programmability/examples/nfts">NFT
|
||
examples</a> - Multiple NFT example implementations from Sui.</li>
|
||
<li><a
|
||
href="https://github.com/starcoinorg/starcoin-framework/blob/main/sources/NFT.move">NFT</a>
|
||
- An ERC721-like token. Deployed on Starcoin.</li>
|
||
<li><a
|
||
href="https://github.com/starcoinorg/starcoin-framework/blob/main/sources/MerkleNFT.move">Merkle
|
||
Airdrop</a> - Utility for airdropping a large number of NFTs. Deployed
|
||
on Starcoin.</li>
|
||
<li><a
|
||
href="https://github.com/diem/diem/blob/main/diem-move/diem-framework/experimental/sources/NFT.move">NFT</a>
|
||
- An implementation of a hybrid ERC721/ERC1155-like token. From
|
||
Diem.</li>
|
||
<li><a
|
||
href="https://github.com/diem/diem/blob/main/diem-move/diem-framework/experimental/sources/BARS.move">BARS</a>
|
||
- An NFT that instantiates this hybrid standard. From Diem.</li>
|
||
<li><a
|
||
href="https://github.com/diem/diem/blob/main/diem-move/diem-framework/experimental/sources/MultiToken.move">MultiToken</a>
|
||
- An ERC1155-like token. From Diem.</li>
|
||
<li><a
|
||
href="https://github.com/diem/diem/blob/main/diem-move/diem-framework/experimental/sources/NFTGallery.move">NFTGallery</a>
|
||
- Utility for holding multiple NFT’s of the same type. From Diem.</li>
|
||
<li><a href="https://github.com/Origin-Byte/nft-protocol">NFT
|
||
Protocol</a> - NFT protocol and collection framework. From
|
||
OriginByte.</li>
|
||
<li><a href="https://github.com/Mynft/suia">Suia</a> - The first POAP
|
||
application on Sui.</li>
|
||
</ul>
|
||
<h3 id="decentralized-identity">Decentralized Identity</h3>
|
||
<ul>
|
||
<li><a href="https://github.com/coming-chat/aptos-cid">aptos-cid</a> -
|
||
Decentralized identity on Aptos, the underlying account system of
|
||
ComingChat.</li>
|
||
<li><a href="https://github.com/NonceGeek/MoveDID">MoveDID</a> - MoveDID
|
||
is a DID protocol that compatible with Move-based blockchain networks,
|
||
including Aptos, Sui, and Starcoin. Maintained by the <a
|
||
href="https://github.com/NonceGeek">NonceGeek</a>.</li>
|
||
</ul>
|
||
<h3 id="defi">DeFi</h3>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/MystenLabs/sui/tree/main/sui_programmability/examples/defi">DeFi
|
||
examples</a> - Multiple DeFi example implementations from Sui.</li>
|
||
<li><a
|
||
href="https://github.com/move-language/move/tree/main/language/documentation/examples/experimental/coin-swap">CoinSwap</a>
|
||
- A toy implementation of a <a
|
||
href="https://uniswap.org/">Uniswap</a>-like liquidity pool containing
|
||
two tokens.</li>
|
||
<li><a
|
||
href="https://github.com/Elements-Studio/starswap-core">Starswap</a> - A
|
||
Uniswap-style DEX. Deployed on Starcoin.</li>
|
||
<li><a
|
||
href="https://github.com/move-language/move/blob/main/language/move-stdlib/nursery/sources/offer.move">Offer</a>
|
||
- Generic implementation of atomic swaps for any pair of assets.</li>
|
||
<li><a
|
||
href="https://github.com/coming-chat/aptos-red-packet">AptosRedPacket</a>
|
||
- A red packet social app that combines private chat and encrypted
|
||
wallet on Aptos.</li>
|
||
<li><a
|
||
href="https://github.com/coming-chat/sui-red-packet">SuiRedPacket</a> -
|
||
A red packet social app that combines private chat and encrypted wallet
|
||
on Sui.</li>
|
||
<li><a href="https://github.com/OmniBTC/Aptos-AMM-swap">AptosAMMswap</a>
|
||
- Aptos AMM Swap implemented by the OmniBTC team.</li>
|
||
<li><a href="https://github.com/OmniBTC/Sui-AMM-swap">SuiAMMswap</a> -
|
||
Sui AMM Swap implemented by the OmniBTC team.</li>
|
||
<li><a
|
||
href="https://github.com/OmniBTC/OmniSwap/tree/main/aptos">AptosOmniSwap</a>
|
||
- One-click swap between aptos and EVM chains (such as ETH/BSC/AVAX,
|
||
etc.) based on the cross-chain interoperability protocol wormhole.</li>
|
||
<li><a href="https://github.com/OmniBTC/DolaProtocol">DolaProtocol</a> -
|
||
A Decentralized Omnichain Liquidity Aggregation Protocol with the single
|
||
coin pool of each public chain as the core, Wormhole, Layerzero and
|
||
other cross-chain messaging protocols as the bridge, and Sui public
|
||
chain as the settlement center.</li>
|
||
<li><a
|
||
href="https://github.com/coming-chat/object-market">ObjectMarket</a> - A
|
||
unique object trading marketplace in the Sui network.</li>
|
||
</ul>
|
||
<h3 id="socialfi">SocialFi</h3>
|
||
<ul>
|
||
<li><a href="https://github.com/coming-chat/Dmens">Dmens</a> -
|
||
Decentralized Moments which is a Blockchain Twitter Protocol built on
|
||
the Sui network.</li>
|
||
</ul>
|
||
<h3 id="on-chain-governance">On-Chain Governance</h3>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/OLSF/libra/blob/main/language/diem-framework/modules/0L/ValidatorUniverse.move">ValidatorUniverse</a>
|
||
- Validator set management. Deployed on 0L.</li>
|
||
<li><a
|
||
href="https://github.com/OLSF/libra/blob/main/language/diem-framework/modules/0L/Oracle.move">Oracle</a>
|
||
- For on-chain community voting. Deployed on 0L.</li>
|
||
<li><a
|
||
href="https://github.com/starcoinorg/starcoin-framework/blob/main/sources/Dao.move">DAO</a>
|
||
- For on-chain proposals and voting. Deployed on Starcoin.</li>
|
||
<li><a
|
||
href="https://github.com/diem/diem/blob/main/diem-move/diem-framework/DPN/sources/DiemSystem.move">DiemSystem</a>
|
||
- Validator set management. From Diem.</li>
|
||
<li><a
|
||
href="https://github.com/diem/diem/blob/main/diem-move/diem-framework/experimental/sources/Vote.move">Vote</a>
|
||
- On-chain voting. From Diem.</li>
|
||
</ul>
|
||
<h3 id="cross-chain-bridge">Cross-Chain Bridge</h3>
|
||
<ul>
|
||
<li><a href="https://github.com/Elements-Studio/poly-stc-contracts">Poly
|
||
Bridge</a> - The first Cross-Chain Bridge between Move and EVM. Deployed
|
||
on Starcoin.</li>
|
||
<li><a href="https://github.com/OmniBTC/OmniBridge">OmniBTC Bridge</a> -
|
||
A bridge between Bitcoin and Move language public chains (like Aptos and
|
||
Sui) based on ultra-light node.</li>
|
||
</ul>
|
||
<h3 id="accounts">Accounts</h3>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/diem/diem/blob/main/diem-move/diem-framework/core/sources/Account.move">Account</a>
|
||
- A generic account for Diem-powered chains. From Diem.</li>
|
||
<li><a
|
||
href="https://github.com/OLSF/libra/blob/main/language/diem-framework/modules/DiemAccount.move">DiemAccount</a>
|
||
- Fork of the above. From 0L.</li>
|
||
<li><a
|
||
href="https://github.com/starcoinorg/starcoin-framework/blob/main/sources/Account.move">Account</a>
|
||
- Fork of the above. From Starcoin.</li>
|
||
</ul>
|
||
<h3 id="frameworks">Frameworks</h3>
|
||
<p>A Move <strong>framework</strong> is the set of Move modules included
|
||
in the genesis state of the chain. These modules typically implement key
|
||
concepts like accounts, currencies, . The ability to separate
|
||
blockchain-specific framework logic from the generic functionality of
|
||
the Move language is a key part of Move’s platform-agnostic design.</p>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/MystenLabs/sui/tree/main/crates/sui-framework">Sui
|
||
Framework</a></li>
|
||
<li><a
|
||
href="https://github.com/aptos-labs/aptos-core/tree/main/aptos-move/framework">Aptos
|
||
Framework</a></li>
|
||
<li><a
|
||
href="https://github.com/OLSF/libra/tree/main/language/diem-framework/modules/0L">0L
|
||
Framework</a></li>
|
||
<li><a href="https://github.com/starcoinorg/starcoin-framework">Starcoin
|
||
Framework</a></li>
|
||
<li><a
|
||
href="https://github.com/diem/diem/tree/main/diem-move/diem-framework/DPN">Diem
|
||
Framework</a></li>
|
||
</ul>
|
||
<h3 id="libraries">Libraries</h3>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/move-language/move/tree/main/language/move-stdlib">Move
|
||
standard library</a> - Utilities intended (but not required) to be used
|
||
in every platform running Move. From the Move repo.</li>
|
||
<li><a
|
||
href="https://github.com/move-language/move/tree/main/language/move-stdlib/nursery">Move
|
||
nursery</a> - Experimental modules that may eventually be promoted into
|
||
the standard library. From the Move repo.</li>
|
||
<li><a
|
||
href="https://github.com/OLSF/libra/blob/main/language/diem-framework/modules/0L/Decimal.move">Decimal</a>
|
||
- Efficient implementation of a decimal value. From 0L.</li>
|
||
<li><a
|
||
href="https://github.com/starcoinorg/starcoin-framework/blob/main/sources/Math.move">Math</a>
|
||
- Math utility functions. From Starcoin.</li>
|
||
<li><a
|
||
href="https://github.com/move-language/move/blob/main/language/move-stdlib/nursery/sources/compare.move">Compare</a>
|
||
- Polymorphic comparison (i.e., compare any two Move values of the same
|
||
type). From the nursery.</li>
|
||
<li><a
|
||
href="https://github.com/move-language/move/blob/main/language/move-stdlib/nursery/sources/vault.move">Vault</a>
|
||
- Library for capabilities. From the nursery.</li>
|
||
<li><a
|
||
href="https://github.com/move-language/move/blob/main/language/move-stdlib/nursery/sources/acl.move">ACL</a>
|
||
- Library for list-based access control. From the nursery.</li>
|
||
<li><a href="https://github.com/taoheorg/taohe">TaoHe</a> - A collection
|
||
of nestable Move resources.</li>
|
||
<li><a
|
||
href="https://github.com/starcoinorg/starcoin-framework-commons">Starcoin
|
||
Framework Commons</a> - Libraries for Move commons utility on
|
||
starcoin-framework. From Starcoin.</li>
|
||
<li><a href="https://github.com/pentagonxyz/movemate">Movemate</a> -
|
||
Smart contract building blocks for Aptos and Sui (Math utilities,
|
||
governance contracts, escrow, and more). Maintained by the Pentagon
|
||
team.</li>
|
||
<li><a
|
||
href="https://github.com/snowflake-so/move-cron-parser#readme">Move cron
|
||
parser</a> - Library is built for a purpose of parsing cron expression.
|
||
Maintained by Snowflake Network team.</li>
|
||
</ul>
|
||
<h3 id="miscellaneous">Miscellaneous</h3>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/move-language/move/tree/main/language/evm">Move-on-EVM</a>
|
||
- Experimental project to compile Move source code to EVM bytecode.</li>
|
||
<li><a href="https://github.com/whonore/aoc-move">aoc-move</a> - Advent
|
||
of Code solutions in Move with some formal verification.</li>
|
||
</ul>
|
||
<h2 id="tools">Tools</h2>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/move-language/move/tree/main/language/tools/move-cli">Move
|
||
Package Manager</a> - Like <code>cargo</code> or <code>npm</code> for
|
||
Move: single CLI (and corresponding Rust API’s for other tools to hook
|
||
into) for building, running, testing, debugging, and verifying Move <a
|
||
href="https://move-language.github.io/move/">packages</a>. Maintained by
|
||
the Move core team.</li>
|
||
<li><a
|
||
href="https://github.com/move-language/move/tree/main/language/move-prover">Move
|
||
Prover</a> - Formal verification of user-defined specifications written
|
||
in Move source code. Maintained by the Move core team.</li>
|
||
<li><a
|
||
href="https://github.com/move-language/move/tree/main/language/tools/read-write-set">Move
|
||
Read/Write Set Analyzer</a> - Static analysis tool for computing an
|
||
overapproximation of the global memory touched by a Move program.
|
||
Maintained by the Move core team.</li>
|
||
<li><a href="https://github.com/imcoding-online/js-move-playground">Move
|
||
Playground JS Library</a> - Wrapping <a
|
||
href="https://playground.pontem.network/">Move Playground by Pontem</a>
|
||
as a JavaScript library for browser. You can use it to build your own
|
||
Move Playground.</li>
|
||
<li><a
|
||
href="https://github.com/coming-chat/go-sui-indexer">go-sui-indexer</a>
|
||
- An off-fullnode service to serve data from Sui Node.</li>
|
||
</ul>
|
||
<h2 id="ides">IDEs</h2>
|
||
<ul>
|
||
<li><a
|
||
href="https://marketplace.visualstudio.com/items?itemName=move.move-analyzer">Move
|
||
VS Code plugin</a> - Maintained by the Move core team (<a
|
||
href="https://github.com/move-language/move/tree/main/language/move-analyzer">source
|
||
code</a>).</li>
|
||
<li><a
|
||
href="https://plugins.jetbrains.com/plugin/14721-move-language">Move
|
||
IntelliJ plugin</a> - Maintained by the Pontem team (<a
|
||
href="https://github.com/pontem-network/intellij-move">source
|
||
code</a>).</li>
|
||
<li><a href="https://playground.pontem.network/">Move Playground</a> -
|
||
Like <a href="https://remix.ethereum.org/">Remix</a> for Move. Alpha
|
||
version of a Web IDE. See <a
|
||
href="https://gist.github.com/borispovod/64b6d23741d8c1f4b0b958a3a74aa68d">instructions</a>.
|
||
Maintained by the Pontem team.</li>
|
||
<li><a
|
||
href="https://marketplace.visualstudio.com/items?itemName=starcoinorg.starcoin-ide">Starcoin
|
||
IDE</a> - Maintained by the Starcoin team (<a
|
||
href="https://github.com/starcoinorg/starcoin-ide">source
|
||
code</a>).</li>
|
||
<li><a href="https://github.com/rvmelkonian/move.vim">Move Vim</a> -
|
||
Maintained by <a href="https://github.com/rvmelkonian/"><span
|
||
class="citation" data-cites="rvmelkonian">@rvmelkonian</span></a>.</li>
|
||
<li><a href="https://github.com/amnn/move-mode">move-mode</a> - Major
|
||
mode for Emacs maintained by <a href="https://github.com/amnn/"><span
|
||
class="citation" data-cites="amnn">@amnn</span></a>.</li>
|
||
</ul>
|
||
<h2 id="package-managers">Package Managers</h2>
|
||
<ul>
|
||
<li><a href="https://www.movey.net/">Movey</a> - A crates.io-style
|
||
repository of Move packages.</li>
|
||
</ul>
|
||
<h2 id="wallets">Wallets</h2>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/starcoinorg/starmask-extension">StarMask</a> -
|
||
A wallet for the Starcoin blockchain. Maintained by the Starcoin team
|
||
(<a
|
||
href="https://chrome.google.com/webstore/detail/starmask/mfhbebgoclkghebffdldpobeajmbecfk?hl=en">Chrome
|
||
Webstore</a>).</li>
|
||
<li><a
|
||
href="https://github.com/MystenLabs/sui/tree/main/apps/wallet">Sui
|
||
Wallet</a> - A chrome (v88+) extension wallet for Sui (<a
|
||
href="https://chrome.google.com/webstore/detail/sui-wallet/opcgpfmipidbgpenhmajoajpbobppdil">Chrome
|
||
Webstore</a>).</li>
|
||
<li><a href="https://github.com/pontem-network/pontem-wallet">Pontem
|
||
Wallet</a> - Wallet extension for Aptos network by the Pontem team (<a
|
||
href="https://chrome.google.com/webstore/detail/pontem-wallet/phkbamefinggmakgklpkljjmgibohnba">Chrome
|
||
Webstore</a>).</li>
|
||
<li><a href="https://github.com/fewcha-wallet/fewcha.app">Fewcha Aptos
|
||
Wallet</a> - The wallet of layer 1 blockchain Aptos (<a
|
||
href="https://chrome.google.com/webstore/detail/fewcha-aptos-wallet/ebfidpplhabeedpnhjnobghokpiioolj">Chrome
|
||
Webstore</a>).</li>
|
||
<li><a href="https://github.com/pontem-network/lcs-js">bcs-js</a> -
|
||
JavaScript implementation of the <a
|
||
href="https://github.com/diem/bcs">BCS</a> serialization scheme used by
|
||
Move, may be useful for implementing wallets.</li>
|
||
<li><a href="https://coming.chat/">ComingChat</a> - A decentralized
|
||
social finance/web3 portal. Supporting public chain wallets, such as Sui
|
||
and Aptos wallets.</li>
|
||
<li><a href="https://github.com/suiet/suiet">Suiet Wallet</a> - A
|
||
open-source wallet for Sui. (<a
|
||
href="https://chrome.google.com/webstore/detail/suiet/khpkpbbcccdmmclmpigdgddabeilkdpd">Chrome
|
||
Webstore</a>, <a href="https://suiet.app">Website</a>)</li>
|
||
<li><a href="https://github.com/EthosWallet/chrome-extension">Ethos
|
||
Wallet</a> - Open-source chrome extension wallet for Sui (<a
|
||
href="https://chrome.google.com/webstore/detail/ethos-sui-wallet/mcbigmjiafegjnnogedioegffbooigli">Chrome
|
||
Webstore</a>, <a href="https://ethoswallet.xyz/">Website</a>).</li>
|
||
</ul>
|
||
<h3 id="wallet-adapters">Wallet Adapters</h3>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/MystenLabs/sui/tree/main/sdk/wallet-adapter">Sui
|
||
Wallet</a> - Sui Wallet Adapter.</li>
|
||
<li><a href="https://github.com/suiet/wallet-adapter">Suiet Wallet</a> -
|
||
Suiet Wallet Adapter.</li>
|
||
</ul>
|
||
<h3 id="wallet-kits">Wallet Kits</h3>
|
||
<ul>
|
||
<li><a href="https://github.com/suiet/wallet-kit">Suiet Wallet Kit</a> -
|
||
A package support all Sui wallets with customizable UI.</li>
|
||
<li><a href="https://github.com/EthosWallet/ethos-connect">Ethos
|
||
Connect</a> - UI with built-in wallet adapter and Email option for
|
||
supporting all wallets and wallet-less users on Sui.</li>
|
||
</ul>
|
||
<h2 id="sdks">SDKs</h2>
|
||
<h3 id="sui-sdks">Sui SDKs</h3>
|
||
<ul>
|
||
<li><a href="https://docs.sui.io/devnet/build/rust-sdk">Rust SDK</a>
|
||
(official)</li>
|
||
<li><a
|
||
href="https://github.com/MystenLabs/sui/tree/main/sdk/typescript">TS/JS
|
||
SDK</a> (official)</li>
|
||
<li><a href="https://github.com/coming-chat/go-sui-sdk">Golang SDK 1</a>
|
||
(community)</li>
|
||
<li><a href="https://github.com/block-vision/sui-go-sdk">Golang SDK
|
||
2</a> (community)</li>
|
||
<li><a href="https://github.com/FrankC01/pysui">Python SDK</a>
|
||
(community)</li>
|
||
<li><a href="https://github.com/GrapeBaBa/sui4j">Java SDK</a>
|
||
(community)</li>
|
||
<li><a href="https://github.com/cosmostation/suikotlin">Kotlin SDK</a>
|
||
(community)</li>
|
||
<li><a href="https://github.com/naami-finance/SuiNet">C# SDK</a>
|
||
(community)</li>
|
||
</ul>
|
||
<h3 id="sui-dapps-sdks">Sui Dapps SDKs</h3>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/OmniBTC/OmniSwap-Sui-SDK">OmniSwap-Sui-SDK</a>
|
||
(community)</li>
|
||
</ul>
|
||
<h3 id="other-network-sdks">Other network SDKs</h3>
|
||
<ul>
|
||
<li><a href="https://github.com/coming-chat/go-aptos-sdk">Aptos Golang
|
||
SDK</a> (community)</li>
|
||
</ul>
|
||
<h2 id="papers">Papers</h2>
|
||
<h3 id="language-design">Language Design</h3>
|
||
<ul>
|
||
<li><a
|
||
href="https://developers.diem.com/papers/diem-move-a-language-with-programmable-resources/2019-06-18.pdf">Move:
|
||
A Language With Programmable Resources</a> - This was the original Move
|
||
white paper released in 2018. Many aspects of this are now out of date
|
||
(e.g., the syntax and description of the bytecode instructions), but the
|
||
first two sections are worth a read for explaining the difficulties of
|
||
programming with assets and how Move tackles them.</li>
|
||
<li><a href="https://arxiv.org/abs/2110.05043">Robust Safety for
|
||
Move</a></li>
|
||
<li><a href="https://arxiv.org/abs/2205.05181">The Move Borrow
|
||
Checker</a></li>
|
||
<li><a href="https://arxiv.org/abs/2004.05106">Resources: A Safe
|
||
Language Abstraction for Money</a></li>
|
||
</ul>
|
||
<h3 id="static-analysis-and-verification">Static Analysis and
|
||
Verification</h3>
|
||
<ul>
|
||
<li><a href="https://arxiv.org/abs/2110.08362">Fast and Reliable Formal
|
||
Verification of Smart Contracts with the Move Prover</a></li>
|
||
<li><a
|
||
href="https://research.facebook.com/publications/the-move-prover/">The
|
||
Move Prover</a></li>
|
||
<li><a
|
||
href="https://ethz.ch/content/dam/ethz/special-interest/infk/chair-program-method/pm/documents/Education/Theses/Constantin_M%C3%BCller_MS_Report.pdf">Verification
|
||
of Programs Written in Libra’s Move Language</a></li>
|
||
<li><a
|
||
href="https://research.facebook.com/publications/exact-and-linear-time-gas-cost-analysis/">Exact
|
||
and Linear-Time Gas-Cost Analysis</a></li>
|
||
</ul>
|
||
<h2 id="videos">Videos</h2>
|
||
<ul>
|
||
<li><a href="https://youtu.be/J1U_0exNFu0">The Move Programming
|
||
Language</a></li>
|
||
<li><a href="https://www.youtube.com/watch?v=xMsE1X4wio4">Move on
|
||
Sui</a></li>
|
||
<li><a href="https://www.youtube.com/watch?v=gvRJdJTQd8U">Move on
|
||
Aptos</a></li>
|
||
<li><a
|
||
href="https://www.youtube.com/watch?v=EG2-7bQNPv4&ab_channel=FieldsInstitute">Move:
|
||
A Safe Language for Programming with Money</a> - Talk from <a
|
||
href="https://github.com/sblackshear"><span class="citation"
|
||
data-cites="sblackshear">@sblackshear</span></a> at the <a
|
||
href="http://www.fields.utoronto.ca/activities/seminar_series/blockchain-research-seminar-series">Fields
|
||
Institute Blockchain</a> research seminar series.</li>
|
||
<li><a
|
||
href="http://www.fields.utoronto.ca/talks/Formal-verification-Move-programs-Libra-blockchain">Formal
|
||
Verification of Move Programs for the Libra Blockchain</a> - Talk from
|
||
<a href="https://github.com/DavidLDill"><span class="citation"
|
||
data-cites="DavidLDill">@DavidLDill</span></a> at the <a
|
||
href="http://www.fields.utoronto.ca/activities/seminar_series/blockchain-research-seminar-series">Fields
|
||
Institute Blockchain</a> research seminar series.</li>
|
||
<li><a href="https://www.youtube.com/watch?v=b_2jZ4YEfWc">Move for the
|
||
Masses</a> - Talk at the <a
|
||
href="https://converge.circle.com/event/4ea0d06f-3900-4b6d-a9cd-aeaedda9ef2e/summary">Converge
|
||
’22</a>.</li>
|
||
</ul>
|
||
<h2 id="slides">Slides</h2>
|
||
<ul>
|
||
<li><a
|
||
href="https://docs.google.com/presentation/d/1Tb2iZD0xrQSlwXIJNL1djNYc0_p0szfB2STgURgHgls/edit?usp=sharing">Move
|
||
deep dive</a></li>
|
||
<li><a
|
||
href="https://docs.google.com/presentation/d/1gU-M42Juz7ARc61unPXphJ_BX1OlQrBwR1VdaPT4M5w/edit?usp=sharing">Move
|
||
overview</a> - Slides from <a
|
||
href="https://reasoningaboutfinancialsystems.org/">Reasoning About
|
||
Financial Systems</a> workshop at <a
|
||
href="https://cbr.stanford.edu/sbc22/">SBC ’22</a>.</li>
|
||
</ul>
|
||
<h2 id="podcasts">Podcasts</h2>
|
||
<ul>
|
||
<li><a href="https://zeroknowledge.fm/228-2/">Move and Sui with Sam
|
||
Blackshear from Mysten Labs</a></li>
|
||
<li><a href="https://twitter.com/i/spaces/1jMKgepNOleJL">Move AMA
|
||
covering Move origin story</a></li>
|
||
</ul>
|
||
<h2 id="blog-posts">Blog Posts</h2>
|
||
<ul>
|
||
<li><a
|
||
href="https://medium.com/@kklas/smart-contract-development-move-vs-rust-4d8f84754a8f">Comparing
|
||
Move and Rust smart contract development</a></li>
|
||
<li><a
|
||
href="https://sui.io/resources-move/why-we-created-sui-move">Comparing
|
||
Diem-style Move and Sui Move</a></li>
|
||
</ul>
|
||
<h2 id="security">Security</h2>
|
||
<ul>
|
||
<li><a
|
||
href="https://medium.com/numen-cyber-labs/analysis-of-the-first-critical-0-day-vulnerability-of-aptos-move-vm-8c1fd6c2b98e">Aptos-movevm
|
||
Denial of Service Vulnerability</a></li>
|
||
</ul>
|
||
<h2 id="contributing">Contributing</h2>
|
||
<p>Contributions welcome! Read the <a
|
||
href="CONTRIBUTING.md">contribution guidelines</a> first.</p>
|