{"id":22399902,"url":"https://github.com/laugharne/ssf_s1_exo","last_synced_at":"2026-04-13T20:32:10.604Z","repository":{"id":250210876,"uuid":"833679350","full_name":"Laugharne/ssf_s1_exo","owner":"Laugharne","description":"Build a cli wallet that generates a keypair and can handle airdrop/sending sol.","archived":false,"fork":false,"pushed_at":"2024-07-26T09:35:22.000Z","size":677,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-07T04:28:56.869Z","etag":null,"topics":["bun","fellowship","solana","summer","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/Laugharne.png","metadata":{"files":{"readme":"README.md","changelog":"history.log","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}},"created_at":"2024-07-25T14:24:33.000Z","updated_at":"2024-08-04T06:39:53.000Z","dependencies_parsed_at":"2024-07-25T22:41:05.752Z","dependency_job_id":"baec45da-ae21-40b5-a0a6-491fb00b17a9","html_url":"https://github.com/Laugharne/ssf_s1_exo","commit_stats":null,"previous_names":["laugharne/ssf_s1_exo"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Laugharne/ssf_s1_exo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Laugharne%2Fssf_s1_exo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Laugharne%2Fssf_s1_exo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Laugharne%2Fssf_s1_exo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Laugharne%2Fssf_s1_exo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Laugharne","download_url":"https://codeload.github.com/Laugharne/ssf_s1_exo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Laugharne%2Fssf_s1_exo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31770718,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-13T20:17:16.280Z","status":"ssl_error","status_checked_at":"2026-04-13T20:17:08.216Z","response_time":93,"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":["bun","fellowship","solana","summer","typescript"],"created_at":"2024-12-05T08:10:27.829Z","updated_at":"2026-04-13T20:32:10.579Z","avatar_url":"https://github.com/Laugharne.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# exo_s1\n\n![](Zoom_Meeting_041.png)\n\nBuild **a cli wallet** that generates a keypair and can handle airdrop/sending sol.\n\n## Install\n\nInstall **bun**\n`curl -fsSL https://bun.sh/install | bash`\n\n`bun --help`\n\nTo install dependencies:\n\n```bash\nbun install\n```\n\nThis project was created using `bun init` in bun v1.1.20. [Bun](https://bun.sh) is a fast all-in-one JavaScript runtime.\n\nIf you occure this problem: `bigint: Failed to load bindings, pure JS will be used (try npm run rebuild?)`, resolve it by running the following command `npm rebuild`\n\n## Commands\n\n- `bun run cli.ts wallet --name \u003cname\u003e` : Create \\\u003cname\u003e.wallet.json file, with key pair in it !\n- `bun run cli.ts balance --name \u003cname\u003e` : Get balance of an \\\u003cname\u003e account wallet !\n- `bun run cli.ts airdrop --name \u003cname\u003e --amount \u003camount\u003e` : Get balance of \\\u003camount\u003e SOL for \\\u003cname\u003e account wallet !\n- `bun run cli.ts transfer --from \u003cfromName\u003e --to \u003ctoName\u003e --amount \u003camount\u003e` : Transfer \\\u003camount\u003e SOL from \\\u003cfromName\u003e to \\\u003ctoName\u003e !\n\nRunning local validator : `solana-test-validator --reset`\n\n## Example\n```bash\n$ bun run cli.ts wallet --name alice\n\nCreate Key Pair into \"alice.wallet.json\" file !\n8CKNd7tkcYRkcLJfif6yurLp2khfRp6ECvRbunEH85iM\n\n```\n```bash\n$ bun run cli.ts wallet --name bob\n\nCreate Key Pair into \"bob.wallet.json\" file !\nCXzmHbMxx1drjk42hshaP6R6m2i2btLnpm3hZoMMSA9L\n\n```\n```bash\n$ ls -l *.wallet.json\n.rw-rw-r-- 173 franck 25 juil. 21:31 alice.wallet.json\n.rw-rw-r-- 173 franck 25 juil. 21:31 bob.wallet.json\n\n```\n```bash\n$ bun run cli.ts balance --name alice\n\nGet balance from \"alice.wallet.json\" file !\nBalance (alice): 0\n\n```\n```bash\n$ bun run cli.ts balance --name bob\n\nGet balance from \"bob.wallet.json\" file !\nBalance (bob): 0\n\n```\n```bash\n$ bun run cli.ts airdrop --name alice --amount 3\n\nGet aidrop to \"alice\" !\n\n(Please wait few seconds before any other operation...)\n\n```\n```bash\n$ bun run cli.ts balance --name alice\n\nGet balance from \"alice.wallet.json\" file !\nBalance (alice): 3\n\n```\n```bash\n$ bun run cli.ts transfer --from alice --to bob --amount 1\n\nGet data (from) \"alice\" !\n8CKNd7tkcYRkcLJfif6yurLp2khfRp6ECvRbunEH85iM\nGet data (to) \"bob\" !\nCXzmHbMxx1drjk42hshaP6R6m2i2btLnpm3hZoMMSA9L\nSignature:  2HN12DMYb86fqJDLUvzTxmjwWU65whu9dyJ5K8wYnzedJrwGfRB7sQC1aYajZgGmU5pTpejJDWxDGBmaCQD5PZ5v\n\n(Please wait few seconds before any other operation...)\n\n```\n```bash\n$ bun run cli.ts balance --name alice\n\nGet balance from \"alice.wallet.json\" file !\nBalance (alice): 1.999995\n```\n```bash\n$ bun run cli.ts balance --name bob\n\nGet balance from \"bob.wallet.json\" file !\nBalance (bob): 1\n\n```\n\nAll the operation has been made on a **local node validator** instead of **devnet**, because of aidrop problems...\n\nBy running `solana-test-validator` !\n\n⚠️ Beware it creates local files and directories at the current working directory.\n\n**cli.ts:**\n```typescript\nconst connection = new Connection(\"http://localhost:8899\");\n//const connection = new Connection(\"https://api.devnet.solana.com\");\n```\n\n## Resources\n\n- [Bun — A fast all-in-one JavaScript runtime](https://bun.sh/)\n- [bigint: Failed to load bindings, pure JS will be used (try npm run rebuild?) when importing Connection from @solana/web3.js - Solana Stack Exchange](https://solana.stackexchange.com/questions/4077/bigint-failed-to-load-bindings-pure-js-will-be-used-try-npm-run-rebuild-whe)\n- [Solana Devnet Faucet - Airdrop SOL](https://faucet.solana.com/)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flaugharne%2Fssf_s1_exo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flaugharne%2Fssf_s1_exo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flaugharne%2Fssf_s1_exo/lists"}