This is a frontend tool to help you craft valid seed poems.
A seed poem is a small 12 to 24 word poem that is also a valid BIP-39 mnemonic seed phrase, and therefore provides the reader full access to a cryptocurrency wallet.
Each word in the poem must be present in the fixed list of 2048 words, and the final word must be a checksum of the entropy of all preceding words.
Note: This is an experiment in constrained poetry, and not a secure method to store private keys.
✨
You can see a live version of the app here:
https://seed-poem-tool.netlify.app/
The default poem for the app is a 12-word haiku that is also a valid seed phrase:
caught under bamboo breeze
gentle summer melody
another moment someone will remember
This encodes to the Tezos wallet tz1Poffo6xjvjBnPUrdUxWvJ76rhN6W39ZZf which was used temporarily to store [tap]—a visual poem, cryptographic puzzle, and non-fungible token. You can read more about it in this thread.
To develop the site:
npm i
npm run dev
To build the site:
npm run build
Note the wallet.js
has to be pre-build using esbuild
due to a Vite bug with readable-stream. You can do this with the following:
npm run bundle-util
If you run into an error with "path"
module you may need to make sure that node_modules/libsodium-sumo/package.json
includes the following section before bundling this utility:
"browser": {
"fs": false,
"path": "path-browserify"
}
(Yes, it's clunky...)
The code here is MIT, see LICENSE.md. Some third-party dependencies and fonts have been included under the src/
folder that may carry different licenses.