{"id":27742578,"url":"https://github.com/astarnetwork/frontend-interview-task","last_synced_at":"2026-01-24T10:03:34.568Z","repository":{"id":103303995,"uuid":"534762982","full_name":"AstarNetwork/frontend-interview-task","owner":"AstarNetwork","description":null,"archived":false,"fork":false,"pushed_at":"2022-09-09T18:36:48.000Z","size":20630,"stargazers_count":1,"open_issues_count":0,"forks_count":2,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-28T16:57:31.225Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AstarNetwork.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":"2022-09-09T18:34:07.000Z","updated_at":"2023-01-05T14:40:32.000Z","dependencies_parsed_at":null,"dependency_job_id":"4dbc9050-11b6-4ba8-a229-7df61b4170c2","html_url":"https://github.com/AstarNetwork/frontend-interview-task","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AstarNetwork/frontend-interview-task","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AstarNetwork%2Ffrontend-interview-task","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AstarNetwork%2Ffrontend-interview-task/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AstarNetwork%2Ffrontend-interview-task/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AstarNetwork%2Ffrontend-interview-task/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AstarNetwork","download_url":"https://codeload.github.com/AstarNetwork/frontend-interview-task/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AstarNetwork%2Ffrontend-interview-task/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28724374,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-24T08:27:05.734Z","status":"ssl_error","status_checked_at":"2026-01-24T08:27:01.197Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":[],"created_at":"2025-04-28T16:43:29.040Z","updated_at":"2026-01-24T10:03:34.562Z","avatar_url":"https://github.com/AstarNetwork.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Astar frontend interview task\n\n## Task description\n\nYou are to build a web UI for psp22 smart contract (ERC20 equivalent) deployed on a local chain.\nYou are free to use a framework of your choice.\nInterface can be as simple as wish, but should be to demonstrate your skills. When reviewing it, we will emphasize code and functionality over design.\n\nInterface should _at least_ be able to:\n\n- connect/disconnect to wallet\n- display ballance of connected account\n- display total supply\n- transfer tokens to another account\n\n## Environment\n\nThe contract is pregenerated and prebuilt for you, but you still need to run the node and deploy it.\nThis is made easier by using the `swanky-cli` tool, so all you need to do is download the node for your platform nd unpack it into the `/bin` folder:\n\n- [mac](https://github.com/AstarNetwork/swanky-node/releases/download/v0.10.0/swanky-node-v0.10.0-macOS-x86_64.tar.gz)\n- [linux](https://github.com/AstarNetwork/swanky-node/releases/download/v0.10.0/swanky-node-v0.10.0-ubuntu-x86_64.tar.gz)\n\n\u003e Note, the node filename must be `swanky-node`\n\n## Setup\n\nAfter cloning this repo, run\n\n```\nyarn install\n```\n\nto install the dependencies and download the node as described above.\n\n### Running a node\n\nIn the project root folder, run\n\n```\nyarn node-start\n```\n\nYou can interact with the node by going to the [polkadot.js.org](https://polkadot.js.org/apps) and switching to the `DEVELOPMENT-\u003eLocal Node` in the upper left corner.\n\n![Switching node](/img/scrn1.png?raw=true \"Switching node\")\n\n### Adding an account\n\nYou can generate a new account by running\n\n```\nyarn account:generate\n```\n\nMnemonic and an alias will be stored to `swanky.config.json`.\nNow go to the `Accounts` section of polkadot.js.org interface and click `+ Add account` button.\n\nPaste in the mnemonic you just generated and give it a name (use the same alias for simplicity).\n\nNext, you need to transfer some units to that account so it can deploy the contract.\nNext to `ALICE` account, click `send` button, choose your new account as destination, and enter `1000000000000` under `amount`.\nClick `Make transfer` and `Sign and submit`.\n\n### Deploying the contract\n\nUsing the alias of the account you created in the last step, run\n\n```\nyarn deploy --account [YOUR_ACCOUNT_ALIAS]\n```\n\nYou'll get the address the contract is deployed to.\n\nOptionally, you can add that contract to the polkadot.js.org interface to get an overview of the available messages.\nClick `Developer -\u003e Contracts -\u003e \"+Add an existing contract button\"`.\nPaste in your deployed contract address and drag and drop or upload the metadata file from `contracts/psp22/target/ink/metadata.json`.\n\n![Adding contract](/img/scrn2.png?raw=true \"Adding contract\")\n\n\u003e Note if you restart the node your deployed contracts and added accounts will be lost - you'll have to repeat the process.\n\nEverything is ready now for you to get hacking. Good luck!\n\n## Resources:\n\n- [polkadot{.js} wallet extension](https://polkadot.js.org/extension/)\n- [polkadot.js library docs](https://polkadot.js.org/docs/)\n- examples:\n  - [react](https://github.com/polkadot-js/ui/tree/master/packages/example-react)\n  - [vue](https://github.com/polkadot-js/ui/tree/master/packages/example-vue)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fastarnetwork%2Ffrontend-interview-task","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fastarnetwork%2Ffrontend-interview-task","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fastarnetwork%2Ffrontend-interview-task/lists"}