diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a2ffda3..5dd589b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,13 +1,11 @@ -name: Build - +name: Check Links on: push: branches: [master] pull_request: branches: [master] - jobs: - test: + check-links: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 @@ -17,5 +15,19 @@ jobs: ruby-version: 2.6 - name: Install awesome_bot run: gem install awesome_bot - - name: Check URLs - run: awesome_bot README.md --allow-redirect --request-delay 0.2 + - name: Check non-Medium URLs + run: | + awesome_bot README.md --allow-redirect \ + --request-delay 1 \ + --set-timeout 10 \ + --white-list medium.com,arxiv.org + - name: Check Medium URLs + run: | + medium_urls=$(grep -Eo 'https?://[^[:space:]]+medium.com[^[:space:]]*' README.md) + if [ ! -z "$medium_urls" ]; then + echo "$medium_urls" > medium_urls.txt + awesome_bot medium_urls.txt --allow-redirect --request-delay 10 --set-timeout 15 + rm medium_urls.txt + else + echo "No Medium URLs found" + fi diff --git a/README.md b/README.md index 5cf0312..32fcf43 100644 --- a/README.md +++ b/README.md @@ -73,30 +73,41 @@ - [Starknet Website](https://www.starknet.io/) - Official Website. - [Starknet Documentation](https://docs.starknet.io/documentation/) - Official Documentation. -- [The Starknet Book](https://book.starknet.io/) - In-depth guide. -- [Cairo Documentation](https://www.cairo-lang.org/docs/index.html) - Official Cairo 1.0 Documentation. +- [Cairo Documentation](https://docs.cairo-lang.org/) - Official Cairo 1.0 Documentation. +- [Cairo Playground]( https://www.cairo-lang.org/cairovm/) - Experiment writing Cairo online without deploying a smart contract on Starknet. - [The Cairo Book](https://book.cairo-lang.org/) - In-depth guide to Cairo. -- [YouTube channel](https://www.youtube.com/@starkware_ltd) - Official StarkWare YouTube channel. - [Roadmap](https://www.starknet.io/en/roadmap) - What’s coming next for Starknet. - [SNIPs](https://github.com/starknet-io/SNIPs) - Starknet Improvement Proposals (SNIPs) repository. +- [StarkWare YouTube channel](https://www.youtube.com/@starkware_ltd) - Official StarkWare YouTube channel. - [starkware-libs/cairo](https://github.com/starkware-libs/cairo) - Official Cairo Github repository. +- [Starknet Foundation YouTube channel](https://www.youtube.com/@starknet_foundation) - Official Starknet Foundation YouTube channel. #### Tutorials and Examples - [Starknet by Example](https://starknet-by-example.voyager.online/) - Collection of examples from beginner concepts to advanced. - [Cairo by Example](https://cairo-by-example.com/) - Introduction to Cairo, with simple examples. -- [Starklings](https://github.com/shramee/starklings-cairo1) - Interactive tutorial to get you up and running with Cairo v1 and Starknet. +- Starklings - Interactive tutorial to get you up and running with Cairo v1 and Starknet. + - [Source Code Repository](https://github.com/shramee/starklings-cairo1) + - [Web-based Interactive Tutorial](https://starklings.app/) - [Node Guardians](https://nodeguardians.io/dev-hub?s=devhub-campaigns) - Cairo 1.0 interactives tutorials. +- [Exercism Cairo Track](https://exercism.org/tracks/cairo) - Learn and master Cairo through hands-on exercises with community-powered mentorship. - [Starknet messaging tutorial](https://github.com/glihm/starknet-messaging-dev) - Detailed tutorial to test messaging with Anvil and Katana. -- [WTF Starknet](https://github.com/WTFAcademy/WTF-Starknet) - English and Chinese tutorials. - [Starknet Lesson](https://www.starknet-lesson.com) - The latest and best Cairo course classroom. - [Cairo Zero to Hero](https://www.youtube.com/playlist?list=PLAHFj7-3e6Lz_gSRsearGALkTduJZFdlt) - Introduction to Starknet and Cairo. - [Starknet AI agent](https://agent.starknet.id/) - Explore Starknet using an AI agent to enhance your learning and development. +- [Starknet's Counter Workshop](https://github.com/starknet-edu/counter-workshop) - Learn to write your first Cairo smart contract with this step-by-step exercise. +- [Analyzing onchain data with Apibara Integrations](https://www.youtube.com/watch?v=XCxAvuutks4&list=PLcIyXLwiPilV5RBZj43AX1FY4FJMWHFTY&index=17&ab_channel=StarkWare) - Learn how to analyze onchain data on Starknet using Apibara and ChatGPT. +- [STARK 101](https://starkware.co/stark-101/) - Hands-on tutorial on how to write a STARK prover from scratch (in Python). +- [Starknet’s Account Abstraction Workshop](https://github.com/starknet-edu/aa-workshop) - Practice how to create an account contract with a single signer that uses the STARK-friendly elliptic curve to sign transactions. +- [StarknetCC 2024 Talks](https://www.youtube.com/playlist?list=PLD-8OseqjVebIVnFkMphAUEKPjCUB0siq) +- [Build a Game with Dojo](https://www.youtube.com/watch?v=4tVW0zCE7ug&ab_channel=StarknetFoundation) - Learn how to build a game on Starknet with Dojo, a Provable Game Engine. +- [Become a Starknet Core Developer](https://www.youtube.com/watch?v=7gT0XQA7WxQ&ab_channel=StarknetFoundation) - In-depth exploration of how to become a Core Developer on Starknet ecosystem. + #### Articles and Blogs - [Starknet Blog Posts](https://www.starknet.io/en/posts) - Official blog. -- [Developers Blog](https://www.starknet.io/en/posts/developers) - Official Developers Blog. +- [Developers Blog]( https://www.starknet.io/blog/?category=developers) - Official Developers Blog. - [Starknet research hub](https://starknet-research.beehiiv.com/) - The place to learn more about the Starket ecosystem and stay-up-to-date with the latest news. - [Cairopractice](https://cairopractice.com/) - Cairo blog. @@ -138,12 +149,14 @@ - [Braavos](https://braavos.app/) - [Argent X](https://www.argent.xyz/argent-x/) - [Metamask Snap](https://snaps.consensys.io/starknet) +- [List of wallets available on Starknet](https://www.starknet.io/wallets/) #### Block explorers - [Voyager](https://voyager.online) - [Starkscan](https://starkscan.co/) - [Viewblock](https://viewblock.io/starknet) +- [NFTScan](https://starknet.nftscan.com/) - Explore any NFT data on Starknet. - [OKLink](https://www.oklink.com/starknet) - [Stark Compass](https://github.com/lambdaclass/stark_compass_explorer) - Open source explorer @@ -152,6 +165,11 @@ - [Starkgate](https://starkgate.starknet.io/) - The official bridge. - [Bridges and on-ramps](https://www.starknet.io/en/ecosystem/bridges-and-onramps) - List of bridges and on-ramps. +#### Monitoring tools + +- [Starknet Monitor](https://www.starknet-monitor.com/) - Vital statistics about Starknet. +- [Starknet Status](https://status.starknet.io/) - Provides timely status information about the health of Starknet sequencing. + ## Ecosystem #### Dapps @@ -182,7 +200,6 @@ - [Upcoming events](https://www.starknet.io/en/events) - List of upcoming events. - [StarknetCC](https://www.starknet.cc/) - Starknet Community Conference. -- [Starknet Summit](https://summit23.starknet.io/) #### Open-source and jobs @@ -200,17 +217,21 @@ - [Setting up your environment](https://docs.starknet.io/documentation/quick_start/environment_setup/) - Environment setup guide. - [Starkli](https://book.starkli.rs) - The recommended CLI. - [Scarb](https://docs.swmansion.com/scarb) - The recommended build toolchain and package manager. +- [scarbs.xyz](https://scarbs.xyz) - Cairo package repository. - [Vscode Cairo extension](https://marketplace.visualstudio.com/items?itemName=starkware.cairo1) - Official Cairo extension for VSCode with diagnostics, go-to-definition, completion and more. - [Vim plugin for Scarb projects](https://github.com/swan-of-bodom/scarb-vim) +- [Vim syntax highlighting](https://gist.github.com/b-j-roberts/3d58102660d3522d0a498edd776196f2) - Vimscript syntax file supporting Cairo 1 and 0. +- [Vim CoC Scarb language server](https://gist.github.com/b-j-roberts/d5ca5381c79ea3cdc6558f2080789cf6) - Scarb language server setup for the coc.nvim plugin. - [Starknet Foundry](https://foundry-rs.github.io/starknet-foundry/) - Toolchain for smart contracts development, testing and deployment. - - [Starknet Foundry Forge Template](https://github.com/foundry-rs/starknet_forge_template) - [Starknet Remix](https://remix.ethereum.org/?#activate=Starknet) - The official Starknet plugin for Remix, a browser-based IDE without the need for any installation. - [Starknet Devnet](https://github.com/0xSpaceShard/starknet-devnet-rs) - Local testnet. -- [Katana](https://book.dojoengine.org/toolchain/katana/overview) - High performance sequencer that can be used as a local testnet. +- [Katana](https://book.dojoengine.org/toolchain/katana) - High performance sequencer that can be used as a local testnet. - [Starknet Hardhat plugin](https://github.com/Shard-Labs/starknet-hardhat-plugin) - The Starknet Hardhat plugin. - [starknet-hardhat-example](https://github.com/0xSpaceShard/starknet-hardhat-example) - [docker-cairo](https://github.com/xJonathanLEI/docker-cairo) - Multi-arch Docker images with Cairo binaries. -- [create-starknet-dapp](https://github.com/CerberusChaos/create-starknet-dapp) - Command-line tool designed to help developers quickly create Starknet Dapp projects. It offers multiple project templates. +- [cairo-profiler](https://github.com/software-mansion/cairo-profiler) - Profiler for Cairo. + + #### Starknet SDKs @@ -220,7 +241,7 @@ - [starknet-rs-example](https://github.com/xJonathanLEI/starknet-rs/tree/master/examples) - [starknet.go](https://github.com/NethermindEth/starknet.go) - Golang library. - [starknet-jvm](https://github.com/software-mansion/starknet-jvm) - Library for JVM languages (java, kotlin and others). -- [starknet.dart](https://starknetdart.dev/) - Dart library for mobile. +- [starknet.dart](https://github.com/focustree/starknet.dart) - Dart library for mobile. #### Cairo VMs @@ -263,11 +284,11 @@ - [Starknet React](https://github.com/auclantis/starknet-react) - React hooks library. - [get-starknet](https://github.com/starknet-io/get-starknet) - Starknet's official wallet SDK for developers. -- [Starknetkit](https://www.starknetkit.com/docs/getting-started) - The wallet SDK for developers on Starknet. - [vue-stark-boil](https://github.com/dontpanicdao/vue-stark-boil) - Vue.js boilerplate. - [starknet-url](https://github.com/myBraavos/starknet-url) - Build & parse Starknet URLs. - [starknet-deeplink](https://github.com/myBraavos/starknet-deeplink) - Starknet deeplink generator. -- [Starknet-Dapp-Template](https://github.com/CerberusChaos/Starknet-Dapp-Template) - Starknet Dapp Template with Next.js 14+, Tailwind CSS 3, TypeScript, DaisyUI, and Starknet-React. +- [Scaffold-Stark](https://scaffoldstark.com/)- Build dapps using NextJS, Starknet.js, Scarb, Starknet-React, Starknet Foundry and Typescript. +- [Starknet Scaffold](https://www.starknetscaffold.xyz/) - An [open-source](https://github.com/horuslabsio/Starknet-Scaffold) up-to-date toolkit for building decentralized applications (dapps) on Starknet. #### Other libraries @@ -298,7 +319,6 @@ - [Dojo Engine](https://book.dojoengine.org/) - The Provable Game Engine. - [Awesome Dojo](https://github.com/dojoengine/awesome-dojo) - Curated list of awesome Dojo resources. - - [dojo-examples](https://github.com/dojoengine/dojo-examples) - Dojo examples. - [Starknet Unity SDK](https://github.com/NethermindEth/starknet.unity) #### AI @@ -328,7 +348,9 @@ #### Oracles +- [Chainlink Data Feeds](https://docs.chain.link/data-feeds/price-feeds/addresses?network=starknet&page=1&search=) - Real-world data available for DeFi dApps on Starknet. - [Pragma](https://www.pragmaoracle.com/) - Decentralized, transparent and composable oracle network. +- [Pyth Data Feed](https://www.pyth.network/price-feeds) - Data from real-world markets. #### Indexers @@ -384,7 +406,6 @@ - [Tokei](https://github.com/starknet-io/tokei) - ERC20 token streaming protocol. - [Focus Tree](https://github.com/focustree/contracts) - Focus Tree Contracts. -- [Starknet.id](https://github.com/starknet-id) - On-chain identity. - [Carbon Protocol](https://github.com/Carbonable/carbon-protocol) - Carbon Protocol written in Cairo. - [StarkRevoke](https://github.com/yusufferdogan/STARKREVOKE) - Revoke your ERC20 and ERC721 approvals. - [Batchor](https://github.com/keep-starknet-strange/batchor) - Batch your ERC20 transfers with a CSV file.