bitfact
Version:
A Javascript library to fingerprint (prove) your data, text, & files on the Ethereum blockchain.
78 lines (68 loc) β’ 2.47 kB
Markdown
<p align="center">
<img src="https://raw.githubusercontent.com/zachalam/BitFact/master/readme/header.png" alt="BitFact Header Image" title="BitFact" align="center" />
<br /><br />
Prove your data with this delightful tool.
<br />
BitFact fingerprints information and then etches it on the Ethereum Blockchain.
<br /><br />
<img src="https://img.shields.io/github/issues/zachalam/BitFact" />
<img src="https://img.shields.io/github/license/zachalam/BitFact" />
<img src="https://img.shields.io/npm/v/bitfact" />
<img src="https://img.shields.io/bundlephobia/minzip/bitfact" />
<br /><br />
</p>
---
## Install
Available in **[ποΈ npm](https://www.npmjs.com/package/bitfact)** and **[π§Ά yarn](https://yarnpkg.com/package/bitfact)** flavours.
```java
npm install -g bitfact
```
```java
yarn global add bitfact
```
## Features
- ποΈ Fingerprint any data with 2 easy calls. [What's a fingerprint?](https://en.wikipedia.org/wiki/Fingerprint_(computing))
- βΎοΈ Permanent hash etched on the Ethereum blockchain.
- β½ Tiny gas fees (~21,000) - the same as sending ether.
- π Use with: mainnet (live), ropsten (testnet), & beaconchain (eth2).
## Quickstart
π The only thing you need to drive is an Ethereum `provider` and `privateKey`.
```java
$ bitfact setup
```
### Stamp
πͺ§ After setup, use `bitfact stamp` with `-f` to stamp a file or `-t` to stamp text.
```java
$ bitfact stamp -f hello_world.txt
```
```
β Confirming..
π‘οΈ Success! Stamped on Blockchain:
Txid: 0xbae00000000000000005
```
### Verify
```java
$ bitfact verify -f hello_world.txt -tx 0xbae00000000000000005
```
```
β Confirming..
π‘οΈ Response received from Blockchain.
Stamped: YES
```
## Documentation
The code is well tested and fully documented. Pull requests to docs are welcome.
- π **Documentation Site: https://docs.bitfact.io/**
- Project Repo: The documentation can also be viewed in the `docs/guides` folder on the repository.
## Use Programatically
π You can also import `bitfact` as a module in your own project.
```javascript
const BitFact = require("bitfact"); // load from npm or yarn
const bitfact = new BitFact({
provider: "https://mainnet.infura.io/v3/37a0db22401bbe211112",
privateKey: "321d3fa232e55dedee2bd914273f78897f69053b61437c5",
options: {chain: 'mainnet'}
});
const receipt = await bitfact.stampText("Hello World!", "this is my memo");
console.log(receipt);
```
BitFact | Crafted in Las Vegas (don't gamble with your data) π°