[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-10584":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":16,"stars30d":16,"stars90d":16,"forks30d":16,"starsTrendScore":16,"compositeScore":17,"rankGlobal":10,"rankLanguage":10,"license":18,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":19,"hasPages":19,"topics":21,"createdAt":10,"pushedAt":10,"updatedAt":25,"readmeContent":26,"aiSummary":27,"trendingCount":16,"starSnapshotCount":16,"syncStatus":28,"lastSyncTime":29,"discoverSource":30},10584,"SavjeeCoin","Savjee\u002FSavjeeCoin","Savjee","A simple blockchain in Javascript. For educational purposes only.","",null,"JavaScript",1771,743,83,1,0,21.61,"MIT License",false,"master",[22,23,24],"blockchain","cryptography","wallet","2026-06-12 02:02:23","\u003Cp align=\"center\">\n  \u003Ca href=\"\" rel=\"noopener\">\n \u003Cimg width=200px height=200px src=\"https:\u002F\u002Fi.imgur.com\u002FVELRxXl.png\" alt=\"Project logo\">\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Ch3 align=\"center\">SavjeeCoin\u003C\u002Fh3>\n\n\u003Cdiv align=\"center\">\n\n  [![.github\u002Fworkflows\u002Fci.yml](https:\u002F\u002Fgithub.com\u002FSavjee\u002FSavjeeCoin\u002Factions\u002Fworkflows\u002Fci.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002FSavjee\u002FSavjeeCoin\u002Factions\u002Fworkflows\u002Fci.yml)\n  [![Coverage Status](https:\u002F\u002Fcoveralls.io\u002Frepos\u002Fgithub\u002FSavjee\u002FSavjeeCoin\u002Fbadge.svg?branch=master)](https:\u002F\u002Fcoveralls.io\u002Fgithub\u002FSavjee\u002FSavjeeCoin?branch=master)\n  [![GitHub Issues](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues\u002FSavjee\u002FSavjeeCoin.svg)](https:\u002F\u002Fgithub.com\u002FSavjee\u002FSavjeeCoin\u002Fissues)\n  [![GitHub Pull Requests](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues-pr\u002FSavjee\u002FSavjeeCoin.svg)](https:\u002F\u002Fgithub.com\u002FSavjee\u002FSavjeeCoin\u002Fpulls)\n  [![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-MIT-blue.svg)](\u002FLICENSE)\n\n\u003C\u002Fdiv>\n\n---\n\n*⚠️ For education purposes only. This is by no means a complete implementation and it is by no means secure!*\n\n## Features\n\n* Simple proof-of-work algorithm\n* Verify blockchain (to prevent tampering)\n* Generate wallet (private\u002Fpublic key)\n* Sign transactions\n\n## 🏁 Getting Started \u003Ca name = \"getting_started\">\u003C\u002Fa>\n\n### Install library\n```\nnpm install --save savjeecoin\n```\n\n### Generate a keypair\nTo make transactions on this blockchain you need a keypair. The public key becomes your wallet address and the private key is used to sign transactions.\n\n```js\nconst EC = require('elliptic').ec;\nconst ec = new EC('secp256k1');\n\nconst myKey = ec.genKeyPair();\n```\n\nThe `myKey` object now contains your public & private key:\n\n```js\nconsole.log('Public key:', myKey.getPublic('hex'));\nconsole.log('Private key:', myKey.getPrivate('hex'));\n```\n\n### Create a blockchain instance\nNow you can create a new instance of a Blockchain:\n\n```js\nconst {Blockchain, Transaction} = require('savjeecoin');\n\nconst myChain = new Blockchain();\n```\n\n### Adding transactions\n```js\n\u002F\u002F Transfer 100 coins from my wallet to \"toAddress\"\nconst tx = new Transaction(myKey.getPublic('hex'), 'toAddress', 100);\ntx.sign(myKey);\n\nmyChain.addTransaction(tx);\n```\n\nTo finalize this transaction, we have to mine a new block. We give this method our wallet address because we will receive a mining reward:\n\n```js\nmyChain.minePendingTransactions(myKey.getPublic('hex'));\n```\n\n\n---\n\n## 📽 Video tutorial\nThis source code comes from [my video series on YouTube](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=zVqczFZr124&list=PLzvRQMJ9HDiTqZmbtFisdXFxul5k0F-Q4). You can check them here:\n\n| Video 1: Simple implementation | Video 2: Adding Proof-of-work |\n:-------------------------:|:-------------------------:\n[![](https:\u002F\u002Fimg.youtube.com\u002Fvi\u002FzVqczFZr124\u002Fmaxresdefault.jpg)](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=zVqczFZr124) | [![](https:\u002F\u002Fimg.youtube.com\u002Fvi\u002FHneatE69814\u002Fmaxresdefault.jpg)](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=HneatE69814)\n| Video 3: Mining rewards & transactions | Video 4: Signing transactions |\n[![](https:\u002F\u002Fimg.youtube.com\u002Fvi\u002FfRV6cGXVQ4I\u002Fmaxresdefault.jpg)](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=fRV6cGXVQ4I) | [![](https:\u002F\u002Fimg.youtube.com\u002Fvi\u002FkWQ84S13-hw\u002Fmaxresdefault.jpg)](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=kWQ84S13-hw)\n| Video 5: Building a front-end in Angular\n[![](https:\u002F\u002Fimg.youtube.com\u002Fvi\u002FAQV0WNpE_3g\u002Fmaxresdefault.jpg)](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=AQV0WNpE_3g) |\n","SavjeeCoin 是一个用 JavaScript 编写的简单区块链项目，旨在教育用途。该项目实现了基本的工作量证明算法、区块链验证以防止篡改、钱包生成（包括公钥和私钥）以及交易签名等核心功能。通过使用椭圆曲线加密技术来保障交易的安全性，用户可以创建自己的区块链实例并进行交易操作。SavjeeCoin 适用于希望学习区块链基础知识和技术实现的学生或开发者，在实际应用中应谨慎考虑其安全性和完整性，因为它并非为生产环境设计。",2,"2026-06-11 03:29:13","top_topic"]