{"_id":"@blockchainhub/blo","_rev":"6-f917da944e53747c5732221b222a4d63","name":"@blockchainhub/blo","dist-tags":{"latest":"1.2.7"},"versions":{"1.2.1":{"name":"@blockchainhub/blo","version":"1.2.1","keywords":["core","blockchain","xcb","identicon","blockies","web3","dapps","blo"],"author":{"name":"Pierre Bertet","email":"hi@bpier.re"},"license":"CORE","_id":"@blockchainhub/blo@1.2.1","maintainers":[{"name":"coreorg","email":"rastislav@wallit.eu"}],"contributors":[{"name":"Blockchain Hub @bchainhub"}],"homepage":"https://github.com/bchainhub/blo","bugs":{"url":"https://github.com/bchainhub/blo/issues"},"dist":{"shasum":"a08993f538f4c5b355f08d3aec7bab102125b8f2","tarball":"https://registry.npmjs.org/@blockchainhub/blo/-/blo-1.2.1.tgz","fileCount":12,"integrity":"sha512-O273nP3s/iQ1Dtqz3eSuHN0OhqRwF++KsMIJhD/5BAcefMmxoEnC5ruZvu4JBwo0nTdkTfjpAJFoAfSDotWI9g==","signatures":[{"sig":"MEQCIBKXgjZXnEVwzJKHWmJM7SOvFde3zeYagVswxuhv4MJlAiBsz1UbACNscyIKKwT/REQWA1bXBByEBi+aLNu+Ncssqg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@blockchainhub%2fblo@1.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27048},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=16"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"c0e011c2bd82c8946d150859ec93ea27e6af6a79","scripts":{"dev":"vite ./demos/react","build":"tsc && vite build","ncu-all":"ncu -u && cd demos/bun && ncu -u && cd ../node && ncu -u && cd ../react && ncu -u && cd ../../benchmark && ncu -u"},"_npmUser":{"name":"coreorg","email":"rastislav@wallit.eu"},"repository":{"url":"git+https://github.com/bchainhub/blo.git","type":"git"},"_npmVersion":"10.5.0","description":"blo is a small and fast library to generate Blockchain identicons.","directories":{},"sideEffects":false,"_nodeVersion":"18.20.2","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.11","vitest":"^1.5.3","globals":"^15.1.0","typescript":"^5.4.5","vite-plugin-dts":"^3.9.0"},"_npmOperationalInternal":{"tmp":"tmp/blo_1.2.1_1714680016447_0.8841430577764391","host":"s3://npm-registry-packages"}},"1.2.2":{"name":"@blockchainhub/blo","version":"1.2.2","keywords":["core","blockchain","xcb","identicon","blockies","web3","dapps","blo"],"author":{"name":"Pierre Bertet","email":"hi@bpier.re"},"license":"CORE","_id":"@blockchainhub/blo@1.2.2","maintainers":[{"name":"coreorg","email":"rastislav@wallit.eu"}],"contributors":[{"name":"Blockchain Hub @bchainhub"}],"homepage":"https://github.com/bchainhub/blo","bugs":{"url":"https://github.com/bchainhub/blo/issues"},"dist":{"shasum":"eb07596bf692b3bfd3a4191ab4f408f9686aed53","tarball":"https://registry.npmjs.org/@blockchainhub/blo/-/blo-1.2.2.tgz","fileCount":12,"integrity":"sha512-zHF+CPUv6K9NSNFDxrEEBgdIzU1+2MU0liKkFEbTGU5sBn9aMhJVV+9kSBcTlG683NHnTE0TOz5Y6P3nLdnHpg==","signatures":[{"sig":"MEUCICG2teOTFWveYYVqwO8Zk4/9YQTGhMI9Ungyb2LWO91SAiEAxCn1AuMByJP1f8BfvzhYpS4u/nogsqEHqPdL1QBUpwI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@blockchainhub%2fblo@1.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":35258},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=16"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"d78a7f81cdcac6aa0c22cbf5e8d1d212d58a8d92","scripts":{"dev":"vite ./demos/react","build":"tsc && vite build","ncu-all":"ncu -u && cd demos/bun && ncu -u && cd ../node && ncu -u && cd ../react && ncu -u && cd ../../benchmark && ncu -u"},"_npmUser":{"name":"coreorg","email":"rastislav@wallit.eu"},"repository":{"url":"git+https://github.com/bchainhub/blo.git","type":"git"},"_npmVersion":"10.8.2","description":"blo is a small and fast library to generate Blockchain identicons.","directories":{},"sideEffects":false,"_nodeVersion":"18.20.5","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.7","vitest":"^2.1.8","globals":"^15.14.0","typescript":"^5.7.3","vite-plugin-dts":"^4.5.0"},"_npmOperationalInternal":{"tmp":"tmp/blo_1.2.2_1736695109727_0.8548622923163367","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"@blockchainhub/blo","version":"1.2.3","keywords":["core","blockchain","xcb","identicon","blockies","web3","dapps","blo"],"author":{"name":"Pierre Bertet","email":"hi@bpier.re"},"license":"CORE","_id":"@blockchainhub/blo@1.2.3","maintainers":[{"name":"coreorg","email":"rastislav@wallit.eu"}],"contributors":[{"name":"Blockchain Hub @bchainhub"}],"homepage":"https://github.com/bchainhub/blo","bugs":{"url":"https://github.com/bchainhub/blo/issues"},"dist":{"shasum":"1752a9adb8959e3379b16f5fb8e0de1fec6c24ac","tarball":"https://registry.npmjs.org/@blockchainhub/blo/-/blo-1.2.3.tgz","fileCount":12,"integrity":"sha512-w4y4s1S40Ow9KZjOYIe5fLz3Vv/Fd/BioiiebD3nfFBeJ+54Eirz8STXjJ4Tw/YTIxUNheNbCSQx26n17D0T4Q==","signatures":[{"sig":"MEUCIEl0LK+GjruKq2Y2cG6Q3Sn6ZKEXycmx9lxvheLmTECuAiEAh+oCXx4Gpf2rbd12JsaEsOtiuyNIOGdyaHLdiCWZnDs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@blockchainhub%2fblo@1.2.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":34233},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=16"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"e0371230a47e7115dffb1169b39f12f67303a0c9","scripts":{"dev":"vite ./demos/react","build":"tsc && vite build","ncu-all":"ncu -u && cd demos/bun && ncu -u && cd ../node && ncu -u && cd ../react && ncu -u && cd ../../benchmark && ncu -u"},"_npmUser":{"name":"coreorg","email":"rastislav@wallit.eu"},"repository":{"url":"git+https://github.com/bchainhub/blo.git","type":"git"},"_npmVersion":"10.8.2","description":"blo is a small and fast library to generate Blockchain identicons.","directories":{},"sideEffects":false,"_nodeVersion":"18.20.5","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.7","vitest":"^2.1.8","globals":"^15.14.0","typescript":"^5.7.3","vite-plugin-dts":"^4.5.0"},"_npmOperationalInternal":{"tmp":"tmp/blo_1.2.3_1736698289158_0.34756589341774324","host":"s3://npm-registry-packages-npm-production"}},"1.2.4":{"name":"@blockchainhub/blo","version":"1.2.4","keywords":["core","blockchain","xcb","identicon","blockies","web3","dapps","blo"],"author":{"name":"Pierre Bertet","email":"hi@bpier.re"},"license":"CORE","_id":"@blockchainhub/blo@1.2.4","maintainers":[{"name":"coreorg","email":"rastislav@wallit.eu"}],"contributors":[{"name":"Blockchain Hub @bchainhub"},{"name":"Rastislav Vašička @rastislavcore"}],"homepage":"https://github.com/bchainhub/blo","bugs":{"url":"https://github.com/bchainhub/blo/issues"},"dist":{"shasum":"77018d81b6e2c539e52e1e814ecbe96b626d36a2","tarball":"https://registry.npmjs.org/@blockchainhub/blo/-/blo-1.2.4.tgz","fileCount":13,"integrity":"sha512-QeMRbnu/ZZu+W9n3B20rGDy/STQa0Fkb9WeKZ+rsOXOHWNuOmZaivPn9sEG5wXu+3MZPeBB2pr09qgoO9Wqliw==","signatures":[{"sig":"MEQCIBfCrRbkjikdBQHEvPHkJyYKTSXZWJZL8SAsG415IAsuAiB8fML8pj41X3uBzJ2aJavHzexFOMxJA9o6E7k7Isy4Jg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@blockchainhub%2fblo@1.2.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":16122},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=16"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"895c9a4216330a4480667b0bb0beab9400da8bcf","scripts":{"dev":"vite ./demos/react","build":"tsc","ncu-all":"ncu -u && cd demos/bun && ncu -u && cd ../node && ncu -u && cd ../react && ncu -u && cd ../../benchmark && ncu -u"},"_npmUser":{"name":"coreorg","email":"rastislav@wallit.eu"},"repository":{"url":"git+https://github.com/bchainhub/blo.git","type":"git"},"_npmVersion":"10.8.2","description":"blo is a small and fast library to generate Blockchain identicons.","directories":{},"sideEffects":false,"_nodeVersion":"18.20.5","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.7","vitest":"^2.1.8","globals":"^15.14.0","typescript":"^5.7.3","vite-plugin-dts":"^4.5.0"},"_npmOperationalInternal":{"tmp":"tmp/blo_1.2.4_1736765834827_0.49446020734289786","host":"s3://npm-registry-packages-npm-production"}},"1.2.5":{"name":"@blockchainhub/blo","version":"1.2.5","keywords":["core","blockchain","xcb","identicon","blockies","web3","dapps","blo"],"author":{"name":"Pierre Bertet","email":"hi@bpier.re"},"license":"CORE","_id":"@blockchainhub/blo@1.2.5","maintainers":[{"name":"coreorg","email":"rastislav@wallit.eu"}],"contributors":[{"name":"Blockchain Hub @bchainhub"},{"name":"Rastislav Vašička @rastislavcore"}],"homepage":"https://github.com/bchainhub/blo","bugs":{"url":"https://github.com/bchainhub/blo/issues"},"dist":{"shasum":"5c7df3c5ddde05334b4556688f7f80de3472c654","tarball":"https://registry.npmjs.org/@blockchainhub/blo/-/blo-1.2.5.tgz","fileCount":13,"integrity":"sha512-apGYZ/9qCmN6Ega0X6+8fEQ+vOdWj0EVY8GMqp6RJio7hkKEJP2wHzDa2UIlakQ3B2Tg0UP9uywR50PZioNL5w==","signatures":[{"sig":"MEYCIQDrzH9R3w4KNU4IkE8sIvvWLAff8tMYrKpZhf6Y8GngkQIhAMsqPb5zHZ4A9oGKWh3q4wDzojCMLM1Okn5n6NF30t1D","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@blockchainhub%2fblo@1.2.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":13956},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=16"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"41b77c08e86ff3de6780880013916883b26d8f66","scripts":{"dev":"vite ./demos/react","build":"tsc && esbuild dist/*.js --minify --outdir=dist --allow-overwrite","ncu-all":"ncu -u && cd demos/bun && ncu -u && cd ../node && ncu -u && cd ../react && ncu -u && cd ../../benchmark && ncu -u"},"_npmUser":{"name":"coreorg","email":"rastislav@wallit.eu"},"repository":{"url":"git+https://github.com/bchainhub/blo.git","type":"git"},"_npmVersion":"10.8.2","description":"blo is a small and fast library to generate Blockchain identicons.","directories":{},"sideEffects":false,"_nodeVersion":"18.20.5","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.7","esbuild":"^0.24.2","globals":"^15.14.0","typescript":"^5.7.3","vite-plugin-dts":"^4.5.0"},"_npmOperationalInternal":{"tmp":"tmp/blo_1.2.5_1736768803219_0.502388107600646","host":"s3://npm-registry-packages-npm-production"}},"1.2.6":{"name":"@blockchainhub/blo","version":"1.2.6","keywords":["core","blockchain","xcb","identicon","blockies","web3","dapps","blo"],"author":{"name":"Pierre Bertet","email":"hi@bpier.re"},"license":"CORE","_id":"@blockchainhub/blo@1.2.6","maintainers":[{"name":"coreorg","email":"rastislav@wallit.eu"}],"contributors":[{"name":"Blockchain Hub @bchainhub"},{"name":"Rastislav Vašička @rastislavcore"}],"homepage":"https://github.com/bchainhub/blo","bugs":{"url":"https://github.com/bchainhub/blo/issues"},"dist":{"shasum":"bb0639f280b822941ce628956249dda9bb694209","tarball":"https://registry.npmjs.org/@blockchainhub/blo/-/blo-1.2.6.tgz","fileCount":13,"integrity":"sha512-MazBkASDlltGm8j2uXcZ/Q2D4bZ/p6oAId+1ryQliUcnUvhBITxo+ua40zY1F1Xmg5SZk0nUvgIaMiuMjYZGXQ==","signatures":[{"sig":"MEQCIDIZwb2iH3+MStVsQHCvz34yCawmPtMopO3UEBd2M1opAiA+NPpqpShNAK4nAzbxJPLk0AdqblTXC+D5xkgmOZoczA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@blockchainhub%2fblo@1.2.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":14584},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=16"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"e6273ce1397acbc53884211b5d32a85574a8fb01","scripts":{"dev":"vite ./demos/react","build":"tsc && esbuild dist/*.js --minify --outdir=dist --allow-overwrite","ncu-all":"ncu -u && cd demos/bun && ncu -u && cd ../node && ncu -u && cd ../react && ncu -u && cd ../../benchmark && ncu -u"},"_npmUser":{"name":"coreorg","email":"rastislav@wallit.eu"},"repository":{"url":"git+https://github.com/bchainhub/blo.git","type":"git"},"_npmVersion":"10.8.2","description":"blo is a small and fast library to generate Blockchain identicons.","directories":{},"sideEffects":false,"_nodeVersion":"18.20.6","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.1.0","esbuild":"^0.25.0","globals":"^15.14.0","typescript":"^5.7.3","vite-plugin-dts":"^4.5.0"},"_npmOperationalInternal":{"tmp":"tmp/blo_1.2.6_1739115963413_0.4763528115862483","host":"s3://npm-registry-packages-npm-production"}},"1.2.7":{"name":"@blockchainhub/blo","version":"1.2.7","license":"CORE","author":{"name":"Pierre Bertet","email":"hi@bpier.re"},"contributors":[{"name":"Blockchain Hub @bchainhub"},{"name":"Rastislav Vašička @rastislavcore"}],"description":"blo is a small and fast library to generate Blockchain identicons.","keywords":["core","blockchain","xcb","identicon","blockies","web3","dapps","blo"],"homepage":"https://github.com/bchainhub/blo","bugs":{"url":"https://github.com/bchainhub/blo/issues"},"repository":{"type":"git","url":"git+https://github.com/bchainhub/blo.git"},"type":"module","module":"./dist/index.js","main":"./dist/index.cjs","types":"./dist/index.d.ts","exports":{".":{"import":"./dist/index.js","types":"./dist/index.d.ts"}},"scripts":{"dev":"vite ./demos/react","build":"tsc && esbuild dist/*.js --minify --outdir=dist --allow-overwrite","ncu-all":"ncu -u && cd demos/bun && ncu -u && cd ../node && ncu -u && cd ../react && ncu -u && cd ../../benchmark && ncu -u"},"sideEffects":false,"devDependencies":{"globals":"^15.14.0","typescript":"^5.7.3","vite":"^6.1.0","vite-plugin-dts":"^4.5.0","esbuild":"^0.25.0"},"engines":{"node":">=16"},"_id":"@blockchainhub/blo@1.2.7","gitHead":"59981c4aabaac30cde42589a4d82af5c63f44f5f","_nodeVersion":"18.20.6","_npmVersion":"10.8.2","dist":{"integrity":"sha512-DS/SldaB3WFzO8ESt4eXchy1vvfpEe/38wotRbHugJUeta6DUHEprahCpZc9hFKcpZVR0TBqnYGxz7lT40tPaw==","shasum":"4fc7b38e5b9b96e09a08efe6217f909b29f8aba6","tarball":"https://registry.npmjs.org/@blockchainhub/blo/-/blo-1.2.7.tgz","fileCount":13,"unpackedSize":14629,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@blockchainhub%2fblo@1.2.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD35/cFNWgE1VlpYwIsKtjm8AgOE0k8u/yJ+hdg3qtYnAIhALTqMFUlqG/T5G++mVOazAivBmUc3WzXwxghqpgfbMHD"}]},"_npmUser":{"name":"coreorg","email":"rastislav@wallit.eu"},"directories":{},"maintainers":[{"name":"coreorg","email":"rastislav@wallit.eu"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/blo_1.2.7_1739117014750_0.5715559925806832"},"_hasShrinkwrap":false}},"time":{"created":"2024-05-02T20:00:16.348Z","modified":"2025-02-09T16:03:35.340Z","1.2.1":"2024-05-02T20:00:16.583Z","1.2.2":"2025-01-12T15:18:29.923Z","1.2.3":"2025-01-12T16:11:29.338Z","1.2.4":"2025-01-13T10:57:14.997Z","1.2.5":"2025-01-13T11:46:43.391Z","1.2.6":"2025-02-09T15:46:03.599Z","1.2.7":"2025-02-09T16:03:34.936Z"},"bugs":{"url":"https://github.com/bchainhub/blo/issues"},"author":{"name":"Pierre Bertet","email":"hi@bpier.re"},"license":"CORE","homepage":"https://github.com/bchainhub/blo","keywords":["core","blockchain","xcb","identicon","blockies","web3","dapps","blo"],"repository":{"type":"git","url":"git+https://github.com/bchainhub/blo.git"},"description":"blo is a small and fast library to generate Blockchain identicons.","contributors":[{"name":"Blockchain Hub @bchainhub"},{"name":"Rastislav Vašička @rastislavcore"}],"maintainers":[{"name":"coreorg","email":"rastislav@wallit.eu"}],"readme":"# blo - Blockchain Identicons Generator\n\nblo is a small and fast library to generate Blockchain identicons.\n\n[![npm](https://img.shields.io/npm/v/@blockchainhub/blo?label=npm&color=cb3837&logo=npm)](https://www.npmjs.com/package/@blockchainhub/blo)\n[![License: CORE](https://img.shields.io/badge/License-CORE-yellow?logo=googledocs)](LICENSE)\n[![Bundle Size](https://img.shields.io/bundlephobia/minzip/@blockchainhub/blo?label=Size&logo=tsnode)](https://bundlephobia.com/package/@blockchainhub/blo@latest)\n[![TypeScript](https://img.shields.io/badge/TypeScript-5.7-blue?logo=typescript)](https://www.typescriptlang.org/)\n[![GitHub Sponsors](https://img.shields.io/github/sponsors/bchainhub?label=Sponsors&logo=githubsponsors&color=EA4AAA)](https://github.com/sponsors/bchainhub)\n\n## Features\n\n- 🐥 **Small**: **[![Bundle Size](https://img.shields.io/bundlephobia/minzip/@blockchainhub/blo?label=&color=6ead0a)](https://bundlephobia.com/package/@blockchainhub/blo@latest)** gzipped, distributed as minified ES modules.\n- 🔍 **Optimized**: Leverages SVG to generate compact and sharp images at any size.\n- 💆 **Simple**: Covering all blockchain networks, focusing on uniformity.\n- 🗂 **Typed**: Ships with [types included](#types).\n- 👫 **Works everywhere**: browsers, [Bun](https://bun.sh/), [Node.js](http://nodejs.org/).\n- ☁️ **Zero dependencies**.\n\n## Library Comparison\n\nLibrary | Renders/sec[^1] | Size[^2] | Types | Environment[^3] | Rendering\n--------|---------------:|------|--------|----------------|----------:\n**@blockchainhub/blo** | **520** | [![Bundle Size](https://img.shields.io/bundlephobia/minzip/@blockchainhub/blo?label=&color=6ead0a)](https://bundlephobia.com/package/@blockchainhub/blo@latest) | ![Types support](https://img.shields.io/badge/yes-6ead0a) | ![Environment support](https://img.shields.io/badge/all-6ead0a) | SVG\nblockies-react-svg | 580 | [![Bundle size](https://img.shields.io/bundlephobia/minzip/blockies-react-svg?label=&color=ee4433)](https://bundlephobia.com/package/blockies-react-svg@latest) | ![Types support](https://img.shields.io/badge/yes-6ead0a) | ![Environment support](https://img.shields.io/badge/react-ee4433) | SVG\nethereum-blockies-base64 | 450 | [![Bundle Size](https://img.shields.io/bundlephobia/minzip/ethereum-blockies-base64?label=&color=ee4433)](https://bundlephobia.com/package/ethereum-blockies-base64@latest) | ![Types support](https://img.shields.io/badge/no-ee4433) | ![Environment support](https://img.shields.io/badge/all-6ead0a) | PNG\n@download/blockies | 370 | [![Bundle size](https://img.shields.io/bundlephobia/minzip/@download/blockies?label=&color=6ead0a)](https://bundlephobia.com/package/@download/blockies@latest) | ![Types support](https://img.shields.io/badge/no-ee4433) | ![Environment support](https://img.shields.io/badge/dom-ee4433) | Canvas\nblockies-ts | 370 | [![Bundle size](https://img.shields.io/bundlephobia/minzip/blockies-ts?label=&color=6ead0a)](https://bundlephobia.com/package/blockies-ts@latest) | ![Types support](https://img.shields.io/badge/yes-6ead0a) | ![Environment support](https://img.shields.io/badge/dom-ee4433) | Canvas\nreact-blockies | 700 | [![Bundle size](https://img.shields.io/bundlephobia/minzip/react-blockies?label=&color=ee4433)](https://bundlephobia.com/package/react-blockies@latest) | ![Types support](https://img.shields.io/badge/no-ee4433) | ![Environment support](https://img.shields.io/badge/react-ee4433) | Canvas\n\n[^1]: The number of renders per second. It was measured on Chromium Engine 131, MacOS with an Apple M2 Max. [See ./benchmark](https://github.com/blockchainhub/blo/tree/main/benchmark) for the methodology.\n[^2]: Minizipped bundle size. Good to be < 1 KiB.\n[^3]: The term \"all\" refers to libraries that are framework agnostic and that run in browsers, Bun and Node.js.\n\n## Getting Started\n\n```sh\nnpm i -S @blockchainhub/blo\n```\n\n```sh\npnpm add @blockchainhub/blo\n```\n\n```sh\nyarn add @blockchainhub/blo\n```\n\n```ts\nimport { blo } from \"@blockchainhub/blo\";\n\nimg.src = blo(\"cb7147879011ea207df5b35a24ca6f0859dcfb145999\");\n```\n\n### React / Vue / Others\n\nblo is fast enough to not require memoization or async rendering for common use cases.\n\n```tsx\nfunction AddressIcon(address: string) {\n  return (\n    <img\n      alt={address}\n      src={blo(address)}\n    />\n  );\n}\n```\n\n## API\n\n### `blo(address: Address, options?: BloOptions): string`\n\nGet a data URI string representing the identicon as an SVG image.\n\n```ts\nimport { blo } from \"@blockchainhub/blo\";\n\n// Default usage (64px)\nimg.src = blo(\"0x123...\");\n\n// With options\nimg.src = blo(\"0x123...\", {\n  size: 32,         // Custom size (default: 64)\n  seed: \"custom\"    // Custom seed (default: undefined)\n});\n```\n\n### `bloSvg(address: Address, options?: BloOptions): string`\n\nSame as `blo()` but returns SVG code instead of a data URI.\n\n```ts\nconst svg = bloSvg(\"0x123...\", {\n  size: 32,\n  seed: \"custom\"\n});\n```\n\n### `bloImage(address: Address, options?: BloOptions): BloImage`\n\nGet a `BloImage` data structure that can be used to render the image in different formats.\n\n```ts\nconst [imageData, palette] = bloImage(\"0x123...\", {\n  seed: \"custom\"\n});\n```\n\n### Options\n\n```ts\ninterface BloOptions {\n  // Size in pixels (default: 64)\n  size?: number;\n\n  // Custom seed for generation (default: undefined)\n  // If undefined, uses the address as seed\n  seed?: string;\n}\n```\n\n### Types\n\nThe library ships with TypeScript types included:\n\n```ts\nexport type Address = string;\nexport type BloImage = [BloImageData, Palette];\nexport type BloImageData = Uint8Array;\n\nexport interface BloOptions {\n  size?: number;\n  seed?: string;\n}\n\nexport type Palette = {\n  background: Hsl;\n  primary: Hsl;\n  accent: Hsl;\n};\n\nexport type Hsl = Uint16Array;\n```\n\n## Address Case Handling\n\nBy default, blo displays addresses in lowercase. You have three options for case handling:\n\n- **Lowercase (default)**: Set `uppercase` to `false` or omit it\n- **Uppercase**: Set `uppercase` to `true`\n- **Preserve original case**: Set `uppercase` to `null`\n\nExample:\n\n```ts\nimport { blo } from \"@blockchainhub/blo\";\n\nconst address = \"cb7147879011ea207df5b35a24ca6f0859dcfb145999\";\n\n// Default behavior (lowercase)\nconst identicon1 = blo(address);\n\n// Force uppercase\nconst identicon2 = blo(address, true);\n\n// Preserve original case\nconst identicon3 = blo(address, null);\n```\n\nNote: The case of the address only affects its visual representation. Internally, the identicon generation algorithm always uses lowercase for consistency.\n\n## Acknowledgements\n\n- blo is a modernized version of [ethereum-blockies-base64](https://github.com/MyCryptoHQ/ethereum-blockies-base64), which I think was based on [ethereum/blockies](https://github.com/ethereum/blockies).\n\n## FAQ\n\n### Does it work with CNS, ENS names?\n\nYes. You can use the ENS name directly as the `address` parameter.\n\n### Can blo render other formats than SVG?\n\nYou can render to any format you want by using the `bloImage()` function, which returns a data structure (see [API](#api) above). Check out the [Bun](./demos/bun) and [Node](./demos/node) demos for examples of rendering an identicon in the terminal.\n\n### Can it be used to generate other types of identicons?\n\nblo focuses on the blockchain algorithm but you can use it with any data.\n\n### Why is it named blo?\n\nblo is short for blockies, which is the name of [the original library](https://github.com/ethereum/blockies) it is based on.\n\n## License\n\n[CORE](LICENSE)\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for details.\n\n## Sponsor BlockchainHub\n\nBlockchainHub is a platform for building Open Source applications.\n\n[Sponsor us](https://github.com/sponsors/bchainhub) to support our work.\n\nCurrent GitHub Sponsors: [![GitHub Sponsors](https://img.shields.io/github/sponsors/bchainhub?label=Sponsors&logo=githubsponsors&color=EA4AAA)](https://github.com/sponsors/bchainhub)\n","readmeFilename":"README.md"}