{"id":19460100,"url":"https://github.com/offchainlabs/stylus-erc20","last_synced_at":"2025-04-25T07:32:37.697Z","repository":{"id":244266559,"uuid":"814733512","full_name":"OffchainLabs/stylus-erc20","owner":"OffchainLabs","description":null,"archived":false,"fork":false,"pushed_at":"2024-09-10T12:01:02.000Z","size":3397,"stargazers_count":4,"open_issues_count":1,"forks_count":2,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-02T14:49:17.879Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Solidity","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/OffchainLabs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"licenses/Apache-2.0","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}},"created_at":"2024-06-13T15:36:11.000Z","updated_at":"2024-11-09T17:11:57.000Z","dependencies_parsed_at":"2024-11-03T11:30:30.404Z","dependency_job_id":"e2b534d1-e7a0-47ec-b74c-81030792c443","html_url":"https://github.com/OffchainLabs/stylus-erc20","commit_stats":null,"previous_names":["offchainlabs/stylus-erc20-proxy","offchainlabs/stylus-erc20"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OffchainLabs%2Fstylus-erc20","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OffchainLabs%2Fstylus-erc20/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OffchainLabs%2Fstylus-erc20/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OffchainLabs%2Fstylus-erc20/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OffchainLabs","download_url":"https://codeload.github.com/OffchainLabs/stylus-erc20/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250775614,"owners_count":21485393,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-11-10T17:35:37.002Z","updated_at":"2025-04-25T07:32:36.987Z","avatar_url":"https://github.com/OffchainLabs.png","language":"Solidity","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Stylus ERC-20 example\n\nImplementation example of an ERC-20 token contract written in Rust for Arbitrum Stylus. \n\nDisclaimer: this code is unaudited and not fit for production use.\n\n## Getting started\n\nFollow the instructions in the [Stylus quickstart](https://docs.arbitrum.io/stylus/stylus-quickstart) to configure your development environment.\n\n## Deploying and testing the contract\n\nThe `scripts` folder contains two scripts to deploy and test the contract:\n\n1. [./scripts/deploy.sh](./scripts/deploy.sh) deploys the contract to the chain specified in the .env file, using cargo-stylus\n2. [./scripts/test.sh](./scripts/test.sh) performs a series of calls to verify that the contract behaves as expected \n\nRemember to set the environment variables in an `.env` file.\n\n## Deploying behind a proxy\n\nThis project also includes a Solidity Proxy to deploy the ERC-20 contract behind it, so it can be upgraded in the future. To do this, use the script [./scripts/deployWithProxy.sh](./scripts/deployWithProxy.sh).\n\nTo update the logic contract, use the script [./scripts/updateLogic.sh](./scripts/updateLogic.sh).\n\nNote that this Proxy is based on the TransparentUpgradeableProxy of Solidity, but the ERC-20 contract itself is not Initializable.\n\n\n## How to run a local Stylus dev node\n\nInstructions to setup a local Stylus dev node can be found [here](https://docs.arbitrum.io/stylus/how-tos/local-stylus-dev-node).\n\n## How to get ETH for the Stylus testnet\n\nThe Stylus testnet is an L3 chain that settles to Arbitrum Sepolia. The usual way of obtaining ETH is to bridge it from Arbitrum Sepolia through the [Arbitrum Bridge](https://bridge.arbitrum.io/?destinationChain=stylus-testnet\u0026sourceChain=arbitrum-sepolia). You can find a list of Arbitrum Sepolia faucets [here](https://docs.arbitrum.io/stylus/reference/testnet-information#faucets).\n\n## Useful resources\n\n- [Stylus quickstart](https://docs.arbitrum.io/stylus/stylus-quickstart)\n- [Stylus by example](https://arbitrum-stylus-by-example.vercel.app/)\n- [Awesome Stylus](https://github.com/OffchainLabs/awesome-stylus)\n- [Stylus Telegram group](https://t.me/arbitrum_stylus)\n- [Discord channel](https://discord.com/channels/585084330037084172/1146789176939909251)\n\n## Stylus reference links\n\n- [Stylus documentation](https://docs.arbitrum.io/stylus/stylus-gentle-introduction)\n- [Stylus SDK](https://github.com/OffchainLabs/stylus-sdk-rs)\n- [Cargo Stylus](https://github.com/OffchainLabs/cargo-stylus)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foffchainlabs%2Fstylus-erc20","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foffchainlabs%2Fstylus-erc20","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foffchainlabs%2Fstylus-erc20/lists"}