{"id":26348191,"url":"https://github.com/alebeta06/primer_proyecto","last_synced_at":"2026-02-12T17:32:35.521Z","repository":{"id":263941380,"uuid":"891820323","full_name":"alebeta06/primer_proyecto","owner":"alebeta06","description":"Introducción a los fundamentos del programa Cairo, contrato Starknet, herramientas de desarrollo y seguridad","archived":false,"fork":false,"pushed_at":"2024-11-27T04:43:24.000Z","size":8,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-22T21:24:22.816Z","etag":null,"topics":["cairo","cairo-lang","scarb","starknet","starknet-ecosystem","starkware"],"latest_commit_sha":null,"homepage":"https://www.youtube.com/watch?v=rHP_My8X4w4\u0026t=6510s","language":"Cairo","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alebeta06.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-11-21T02:27:51.000Z","updated_at":"2024-11-27T04:43:27.000Z","dependencies_parsed_at":"2025-06-07T05:07:56.521Z","dependency_job_id":"c99b9afa-d236-43e5-a826-a94d803744dd","html_url":"https://github.com/alebeta06/primer_proyecto","commit_stats":null,"previous_names":["alebeta06/primer_proyecto"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/alebeta06/primer_proyecto","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alebeta06%2Fprimer_proyecto","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alebeta06%2Fprimer_proyecto/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alebeta06%2Fprimer_proyecto/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alebeta06%2Fprimer_proyecto/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alebeta06","download_url":"https://codeload.github.com/alebeta06/primer_proyecto/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alebeta06%2Fprimer_proyecto/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29374068,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-12T08:51:36.827Z","status":"ssl_error","status_checked_at":"2026-02-12T08:51:26.849Z","response_time":55,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cairo","cairo-lang","scarb","starknet","starknet-ecosystem","starkware"],"created_at":"2025-03-16T08:14:05.510Z","updated_at":"2026-02-12T17:32:35.516Z","avatar_url":"https://github.com/alebeta06.png","language":"Cairo","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Introduction to Starknet Contracts\n\n### Install and get started with Starknet Foundry\n\n3. Then proceed with the steps to install Starknet Foundry below 👇\n\nSteps to install Starknet Foundry\n1. Install Scarb: \n```bash\ncurl --proto '=https' --tlsv1.2 -sSf https://docs.swmansion.com/scarb/install.sh | sh\n```\nConfirm scarb installation by running the command: \n```bash\nscarb --version\n```\n\n2. Install Rust\n```bash\ncurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\n```\n\n3. Install the Starknet Foundry tool chain installer:\n```bash\ncurl -L https://raw.githubusercontent.com/foundry-rs/starknet-foundry/master/scripts/install.sh | sh\n```\n4. Run the tool chain installer:\n```bash\nsnfoundryup\n```\nConfirm Starknet Foundry installation by running:\n```bash\nsncast --version\n```\nor \n```bash\nsnforge --version\n```\n\n### Getting started with Starknet Foundry\n- Start a new project using Starknet Foundry:\n```bash\nsnforge init HelloStarknet #project name\n```\n- Move into the project directory\n```bash\ncd HelloStarknet #move into the newly created starknet foundry project directory\n```\n- Build project\n```bash\nscarb build\n```\n- Run tests\n```\nsnforge test\n```\n\u003e Uses `scarb` to build contracts first, then proceed to run tests using `snforge`\n- Filter tests\n```bash\nsnforge test test_increase\n```\n- Run specific tests\n```bash\nsnforge test HelloStarknet::tests::test_increase_balance --exact\n```\n\n### Create a Starknet Account from the terminal\n\n\u003e Use this free RPC provider: https://free-rpc.nethermind.io/sepolia-juno/\n\n1. Create an account contract by running this command on your terminal:\n   ```bash\n   sncast account create --url https://free-rpc.nethermind.io/sepolia-juno --name ale_dev\n   ```\n\n2. Deploy the account contract:\n   ```bash\n   sncast account deploy --url https://free-rpc.nethermind.io/sepolia-juno --name ale_dev --fee-token eth`\n   ```\n\n\u003e `NB`\n\u003e Running the above command should trigger an error:\n\u003e `error: Account balance is smaller than the transaction's max_fee`.\n\u003e That why your account must be funded; to fund your account, visit - https://starknet-faucet.vercel.app/ and paste the account address that was generated on step 4 to request for testnet token.\n\n### Declare and deploy Starknet Contract\n1. Declare your contract:\n   `sncast --account ale_dev declare --url https://free-rpc.nethermind.io/sepolia-juno --fee-token eth --contract-name HelloStarknet`\n   \u003e Example of a contract name is `Counter`\n\n2. Deploy your contract:\n   `sncast --account ale_dev deploy --url https://free-rpc.nethermind.io/sepolia-juno --fee-token eth --class-hash 0x753505e3e0d6fdabb05de61372bf200bb9cca12cf65f8e30e61ecea35e65905`\n\n---\n🥳🥳🥳 Congratulations on successfully deploying your first contract\n---\n\n### Super-charge your `sncast` by adding a profile\nThis approach simplifies interactions using `sncast` as you can simply run commands completely eliminating the need to to add `--url` and `--name` flags whenever you want to run each sncast command:\n`sncast --profile \u003cname_of_profile_on_snfoundry.toml\u003e declare --contract-name \u003cname_of_contract_to_be_deployed\u003e`\nEg: `sncast -u https://free-rpc.nethermind.io/sepolia-juno/ account create -n ale_dev --add-profile ale_dev`. This command automatically creates a profile for you in the root of your project directory. Meaning you will find an auto-created file named `snfoundry.toml` file  with the following configurations:\n```\n[sncast.cohort_dev] \naccount = \"cohort_dev\" \naccounts-file  = \"~/.starknet_accounts/starknet_open_zeppelin_accounts.json\" \nurl = \"https://free-rpc.nethermind.io/sepolia-juno/\"\n```\n\nWhile deploying, make sure you check the constructor argument of the contract you are trying to deploy. All arguments must be passed in appropriately; for such case, use this command:\n`sncast  --profile \u003cname_of_profile_on_snfoundry.toml\u003e  --class-hash \u003cyour_class_hash\u003e  --constructor-calldata \u003cyour_constructor_args\u003e`\n\n### Interacting with Deployed Contracts\n\n- **Invoke**: to execute the logic of a state-changing (writes) function within your deployed contracts from the terminal, run\n  `sncast --url https://free-rpc.nethermind.io/sepolia-juno --account ale_dev invoke --contract-address \u003cyour_contract_address\u003e --function \"\u003cyour_function_name\u003e\" --calldata 10`\n  If you have configured your `snfoundry.toml` file, run:\n  `sncast --profile \u003cyour_profile\u003e invoke --contract-address \u003cyour_contract_address\u003e --function \"\u003cyour_function_name\u003e\" --calldata \u003cfn_args\u003e`\n\n- **Call**: to execute the logic of a non-state-changing (reads) function within your deployed contracts from the terminal, run:\n  `sncast --url https://free-rpc.nethermind.io/sepolia-juno --account cohort_dev call --contract-address \u003cyour_contract_address\u003e --function \"\u003cyour_function_name\u003e\"`\n\nNB:\nIn the event the function to be called accepts some args, append the call `--calldata` flag to the above invoke and call commands with the appropriate args.\n\nTo compile your contract, run `scarb build`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falebeta06%2Fprimer_proyecto","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falebeta06%2Fprimer_proyecto","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falebeta06%2Fprimer_proyecto/lists"}