https://github.com/brackendev/blockchain-racket
Cryptocurrency implementation in Racket with peer to peer network and smart contracts support
https://github.com/brackendev/blockchain-racket
blockchain cryptocurrency lisp racket scheme smart-contracts
Last synced: 4 months ago
JSON representation
Cryptocurrency implementation in Racket with peer to peer network and smart contracts support
- Host: GitHub
- URL: https://github.com/brackendev/blockchain-racket
- Owner: brackendev
- License: other
- Created: 2022-07-02T21:34:01.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2022-07-03T11:12:44.000Z (almost 3 years ago)
- Last Synced: 2025-01-08T08:40:58.359Z (6 months ago)
- Topics: blockchain, cryptocurrency, lisp, racket, scheme, smart-contracts
- Language: Racket
- Homepage: https://bracken.dev
- Size: 23.4 KB
- Stars: 4
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Blockchain-Racket
=================My walkthrough of the outstanding [Introduction to Blockchain in Lisp](https://link.springer.com/book/10.1007/978-1-4842-6969-5) book by [Boro Sitnikovski](https://bor0.wordpress.com/) with some changes (tests added, code comments added, [threading macros](https://docs.racket-lang.org/threading/index.html) added, code changes, etc.).
View the original project [here](https://github.com/MarkP88/racket-coin).
* [Racket 8.5](https://download.racket-lang.org/) reference platform.
* Tests included.## Installation
1. Download this project.
2. Install [Racket](https://download.racket-lang.org/).
3. Install the dependencies. In the project root directory, execute in a shell: `make deps`.## Example Usage
1. Run the first peer. In the project root directory, execute in a shell:
```bash
racket src/main-p2p.rkt test.data 7000 127.0.0.1:7001,127.0.0.1:7002
```2. You will see output like the following. When you do, press _control-c_ to break execution.
```bash
Making genesis transaction...
Mining genesis block...
#
Mined a block!
Exported blockchain to 'test.data'...
```3. Run the second peer. In the project root directory, execute in a shell:
```bash
racket src/main-p2p.rkt test2.data 7000 127.0.0.1:7001
```4. To sync the peers, run the first peer again while keeping the second peer active. In the project root directory, execute in a shell:
```bash
racket src/main-p2p.rkt test.data 7000 127.0.0.1:7001,127.0.0.1:7002
```To run the tests, in the project root directory, execute in a shell:
```bash
make test
```## Maintainer
Bracken Spencer
* [GitHub](https://www.github.com/brackendev)
* [LinkedIn](https://www.linkedin.com/in/brackenspencer/)
* [Twitter](https://twitter.com/brackendev)## License
Blockchain-Racket is released under the GNU General Public License. See the LICENSE file for more info.
- - -
## Useful Links
* [/r/Racket](https://www.reddit.com/r/Racket/) [Reddit]
* [@racketlang](https://twitter.com/racketlang) [Twitter]
* [Boro Sitnikovski](https://bor0.wordpress.com/)
* [Getting Started](https://docs.racket-lang.org/getting-started/index.html) [racket-lang.org]
* [Introduction to Blockchain in Lisp](https://leanpub.com/ibl)
* [Racket](https://racket-lang.org/) [racket-lang.org]
* [Racket News](https://racket-news.com/)