{"_id":"blo","_rev":"22-0c8c512b1fea8d4f2e848cdf2cc05e1a","name":"blo","dist-tags":{"latest":"2.0.0"},"versions":{"0.1.0":{"name":"blo","version":"0.1.0","author":{"name":"Pierre Bertet","email":"bonjour@pierrebertet.net"},"_id":"blo@0.1.0","bugs":{"name":"http://github.com/bpierre/blo/issues"},"dist":{"shasum":"7cd306c266a63c9e4be22a5cb3b612debf9352ba","tarball":"https://registry.npmjs.org/blo/-/blo-0.1.0.tgz","integrity":"sha512-TVkzhBc93lWmP4XrCulwPs46ojG4A98pn0XrCFOcN41U99K8Orkrrh/lFtxYMYwfyZprI45vw2GXYvrIAcyYqw==","signatures":[{"sig":"MEQCICNxGBSWHXpyCpHI2Ceoq+mQ0bzg151cc+wpeZwsCTGSAiBK7G+wuVOila8Ua/KmDo32dUwq+wBz/yyCs+rfhaddeQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/blo.js","tags":["node","blog"],"engines":["node >= 0.4.0"],"scripts":{},"repository":{"url":"git://github.com/bpierre/blo.git","type":"git"},"_npmVersion":"1.0.3","description":"HTML blog system","directories":{},"_nodeVersion":"v0.4.5","dependencies":{"dust":">= 0.3.0","step":">= 0.0.4","jsdom":">= 0.2.0","connect":">= 1.4.0 < 2.0.0"},"_defaultsLoaded":true,"devDependencies":{},"_engineSupported":true},"0.2.0":{"name":"blo","version":"0.2.0","author":{"url":"http://pierrebertet.net","name":"Pierre Bertet","email":"bonjour@pierrebertet.net"},"_id":"blo@0.2.0","bugs":{"name":"http://github.com/bpierre/blo/issues"},"bin":{"blo":"./bin/blo"},"dist":{"shasum":"2c8b6a6d6411009b96bd6fe2dd2272f6ecbc9bca","tarball":"https://registry.npmjs.org/blo/-/blo-0.2.0.tgz","integrity":"sha512-G6tzUxQFKuQFjkC3TFhL6xZrJ+PzO7v5Yc89KoJHlQrV9jtRQ2/C3Yajt14gu2W/0+tgq2mcPKpD0BO/ytLz/w==","signatures":[{"sig":"MEUCIQCNHXtT7T/ocqwqjqxima+G4sYlm3F2O/Oyz6LWiQLSUgIgDDgCRDz3/8GNpErLe0EScny3bA9KCv3Ao4971KRSHLc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/blo.js","tags":["node","blog"],"engines":{"node":">= 0.4.1 < 0.5.0"},"scripts":{},"repository":{"url":"git://github.com/bpierre/blo.git","type":"git"},"_npmVersion":"1.0.3","description":"HTML blog system","directories":{},"_nodeVersion":"v0.4.5","dependencies":{"dust":">= 0.3.0 < 1.0.0","step":">= 0.0.4 < 1.0.0","jsdom":">= 0.2.0 < 1.0.0","connect":">= 1.4.0 < 2.0.0"},"_defaultsLoaded":true,"devDependencies":{},"_engineSupported":true},"0.2.1":{"name":"blo","version":"0.2.1","author":{"url":"http://pierrebertet.net","name":"Pierre Bertet","email":"bonjour@pierrebertet.net"},"_id":"blo@0.2.1","maintainers":[{"name":"bpierre","email":"bonjour@pierrebertet.net"}],"contributors":[{"name":"Pierre Bertet","email":"bonjour@pierrebertet.net"},{"name":"Raphaël Bastide","email":"bonjour@raphaelbastide.com"}],"bugs":{"name":"http://github.com/bpierre/blo/issues"},"bin":{"blo":"./bin/blo"},"dist":{"shasum":"da390f6d92bded07845672b30b1d698b7b2df325","tarball":"https://registry.npmjs.org/blo/-/blo-0.2.1.tgz","integrity":"sha512-ehsiMgyLM877Jm81gyinjjoIJpmTlgE91tYa8poZ1rHJcU8GASfpJSMQu7axno/Iu6icFpFu08SyyVam2H+Vxw==","signatures":[{"sig":"MEUCIEcY0lAQ09vIkVXodjPYCaieWB5o2v8iKAyM0X4vtTwEAiEAhNNPPdBOacjYHnyjkE6ELGD0Rhc8lQHJCi8WHWZlVMo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/blo.js","tags":["node","blog"],"engines":{"node":">= 0.4.1 < 0.5.0"},"scripts":{},"repository":{"url":"git://github.com/bpierre/blo.git","type":"git"},"_npmVersion":"1.0.22","description":"HTML blog system","directories":{},"_nodeVersion":"v0.4.12","_npmJsonOpts":{"file":"/Users/pierre/.npm/blo/0.2.1/package/package.json","wscript":false,"serverjs":false,"contributors":false},"dependencies":{"dust":">= 0.3.0 < 1.0.0","step":">= 0.0.4 < 1.0.0","jsdom":">= 0.2.1 < 1.0.0","connect":">= 1.6.0 < 2.0.0"},"_defaultsLoaded":true,"devDependencies":{},"_engineSupported":true},"0.3.0":{"name":"blo","version":"0.3.0","keywords":["ethereum","identicon","blockies","typescript"],"author":{"name":"Pierre Bertet","email":"hi@bpier.re"},"license":"MIT","_id":"blo@0.3.0","maintainers":[{"name":"bpierre","email":"hello@pierre.world"}],"homepage":"https://github.com/bpierre/blo","bugs":{"url":"https://github.com/bpierre/blo/issues"},"dist":{"shasum":"46b19b18bab627c9301adcc9cfbc423517d4f356","tarball":"https://registry.npmjs.org/blo/-/blo-0.3.0.tgz","fileCount":9,"integrity":"sha512-R8tFVZ6fKFzvlCjYsa+3ybM16RujOBvkLgUJnu4eXkwcYzu82xVU7jB8VCkjo+T7KxyXzHPuqb5oNvcf0SmAsg==","signatures":[{"sig":"MEYCIQCJkUhME8rK1bDRISH7Zk3KkiLjqA0Yo0QM0/SZPx8lCAIhAMt2wLGPlbrhGQpGAsP308Gu9Il5ZmffJ+SxmgZK+fk0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16592},"main":"dist/blo.js","type":"module","_from":"file:blo-0.3.0.tgz","types":"dist/types.d.ts","module":"dist/blo.js","scripts":{"dev":"vite demo","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","build":"tsc && vite build","demo-cli":"cd demo-cli && bun start","bench-cli":"vitest bench benchmark","bench-browser":"vite dev benchmark"},"_npmUser":{"name":"bpierre","email":"hello@pierre.world"},"_resolved":"/tmp/pierre/a8cf2f8a3c33260bce49a42105304c0f/blo-0.3.0.tgz","_integrity":"sha512-R8tFVZ6fKFzvlCjYsa+3ybM16RujOBvkLgUJnu4eXkwcYzu82xVU7jB8VCkjo+T7KxyXzHPuqb5oNvcf0SmAsg==","repository":{"url":"git+https://github.com/bpierre/blo.git","type":"git"},"_npmVersion":"8.6.0","description":"blo is a small and fast library to generate Ethereum identicons.","directories":{},"sideEffects":false,"_nodeVersion":"17.8.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^4.4.5","eslint":"^8.45.0","vitest":"^0.34.4","typescript":"^5.0.2","vite-plugin-dts":"^3.5.3","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-react-refresh":"^0.4.3","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/blo_0.3.0_1695092871567_0.15826004484162204","host":"s3://npm-registry-packages"}},"0.4.0":{"name":"blo","version":"0.4.0","keywords":["ethereum","identicon","blockies","typescript"],"author":{"name":"Pierre Bertet","email":"hi@bpier.re"},"license":"MIT","_id":"blo@0.4.0","maintainers":[{"name":"bpierre","email":"hello@pierre.world"}],"homepage":"https://github.com/bpierre/blo","bugs":{"url":"https://github.com/bpierre/blo/issues"},"dist":{"shasum":"fd6de3b33486f298f90851f606f454faa6a8dd16","tarball":"https://registry.npmjs.org/blo/-/blo-0.4.0.tgz","fileCount":9,"integrity":"sha512-Mu2vyQKV7d67YzoZt0tehZuc1YRpsk3DyfWmIloFvqTGEAeMd10NEgI3lbpkVjBXm9ilSml6Fb2MRLw1JIqjVA==","signatures":[{"sig":"MEYCIQDIa7IURDjtHyt79jBFZR3uVcdwQAOLCTv1nDFKATp2SwIhAJb+nZcITvaO+c89cPGLF+pZx6EGZ6JC1E8+krLg4I9D","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16591},"main":"dist/blo.js","type":"module","_from":"file:blo-0.4.0.tgz","types":"dist/types.d.ts","module":"dist/blo.js","scripts":{"dev":"vite demo","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","build":"tsc && vite build","demo-cli":"cd demo-cli && bun start","bench-cli":"vitest bench benchmark","bench-browser":"vite dev benchmark"},"_npmUser":{"name":"bpierre","email":"hello@pierre.world"},"_resolved":"/tmp/pierre/09788d2ac1a95cf4619e1898cfefd9bb/blo-0.4.0.tgz","_integrity":"sha512-Mu2vyQKV7d67YzoZt0tehZuc1YRpsk3DyfWmIloFvqTGEAeMd10NEgI3lbpkVjBXm9ilSml6Fb2MRLw1JIqjVA==","repository":{"url":"git+https://github.com/bpierre/blo.git","type":"git"},"_npmVersion":"8.6.0","description":"blo is a small and fast library to generate Ethereum identicons.","directories":{},"sideEffects":false,"_nodeVersion":"17.8.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^4.4.5","eslint":"^8.45.0","vitest":"^0.34.4","typescript":"^5.0.2","vite-plugin-dts":"^3.5.3","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-react-refresh":"^0.4.3","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/blo_0.4.0_1695122382077_0.1962579110067999","host":"s3://npm-registry-packages"}},"0.4.1":{"name":"blo","version":"0.4.1","keywords":["ethereum","identicon","blockies","typescript"],"author":{"name":"Pierre Bertet","email":"hi@bpier.re"},"license":"MIT","_id":"blo@0.4.1","maintainers":[{"name":"bpierre","email":"hello@pierre.world"}],"homepage":"https://github.com/bpierre/blo","bugs":{"url":"https://github.com/bpierre/blo/issues"},"dist":{"shasum":"c1228fa464305a3ad1fc3145ef856df11c48cf45","tarball":"https://registry.npmjs.org/blo/-/blo-0.4.1.tgz","fileCount":9,"integrity":"sha512-ovowkjp91bRywkBmCW+sNitzhlQLSFo5Q0RoK59yzQ1AuUlFnq3IGWBuW94jZ1hlujHvy9WAbMv9bLVPkap+/g==","signatures":[{"sig":"MEQCIBNQ/3WnrpDslKBT5mQ5eKyo1OCmj9Ke5Asr/lEjbtZtAiB8CZGsQpbAN363oQ4XlmDDmWtxGIDRphku7RTWK0T+zw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16586},"main":"dist/blo.js","type":"module","_from":"file:blo-0.4.1.tgz","types":"dist/types.d.ts","module":"dist/blo.js","scripts":{"dev":"vite demo","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","build":"tsc && vite build","demo-cli":"cd demo-cli && bun start","bench-cli":"vitest bench benchmark","bench-browser":"vite dev benchmark"},"_npmUser":{"name":"bpierre","email":"hello@pierre.world"},"_resolved":"/tmp/pierre/8b0862638b008778a1820fbcae4c6323/blo-0.4.1.tgz","_integrity":"sha512-ovowkjp91bRywkBmCW+sNitzhlQLSFo5Q0RoK59yzQ1AuUlFnq3IGWBuW94jZ1hlujHvy9WAbMv9bLVPkap+/g==","repository":{"url":"git+https://github.com/bpierre/blo.git","type":"git"},"_npmVersion":"8.6.0","description":"blo is a small and fast library to generate Ethereum identicons.","directories":{},"sideEffects":false,"_nodeVersion":"17.8.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^4.4.5","eslint":"^8.45.0","vitest":"^0.34.4","typescript":"^5.0.2","vite-plugin-dts":"^3.5.3","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-react-refresh":"^0.4.3","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/blo_0.4.1_1695122594530_0.7888850722623493","host":"s3://npm-registry-packages"}},"0.4.2":{"name":"blo","version":"0.4.2","keywords":["ethereum","identicon","blockies","typescript"],"author":{"name":"Pierre Bertet","email":"hi@bpier.re"},"license":"MIT","_id":"blo@0.4.2","maintainers":[{"name":"bpierre","email":"hello@pierre.world"}],"homepage":"https://github.com/bpierre/blo","bugs":{"url":"https://github.com/bpierre/blo/issues"},"dist":{"shasum":"a314deb4b429d65b37c0f01812c778f8575265bb","tarball":"https://registry.npmjs.org/blo/-/blo-0.4.2.tgz","fileCount":9,"integrity":"sha512-oFNtmsI57UWSWt9eB3J1Urg2iL/+poF2FmIpsxQqO/tDHhISBrKuLGqYjfH3ZPUiilTbF4DyeETxbXNyGOKxAw==","signatures":[{"sig":"MEUCICUOdpXqIY32ZMcjZJ4BnGFkSC83fyUvPP/zHTdat6dZAiEAiZegPpUUZHfB/jFqez2V5nNihd/1LuzH1ELKdvYOKGw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16588},"main":"dist/blo.js","type":"module","_from":"file:blo-0.4.2.tgz","types":"dist/types.d.ts","module":"dist/blo.js","scripts":{"dev":"vite demo","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","build":"tsc && vite build","demo-cli":"cd demo-cli && bun start","bench-cli":"vitest bench benchmark","bench-browser":"vite dev benchmark"},"_npmUser":{"name":"bpierre","email":"hello@pierre.world"},"_resolved":"/tmp/pierre/1062c8b99e3245f854dad6fe27d2a4b3/blo-0.4.2.tgz","_integrity":"sha512-oFNtmsI57UWSWt9eB3J1Urg2iL/+poF2FmIpsxQqO/tDHhISBrKuLGqYjfH3ZPUiilTbF4DyeETxbXNyGOKxAw==","repository":{"url":"git+https://github.com/bpierre/blo.git","type":"git"},"_npmVersion":"8.6.0","description":"blo is a small and fast library to generate Ethereum identicons.","directories":{},"sideEffects":false,"_nodeVersion":"17.8.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^4.4.5","eslint":"^8.45.0","vitest":"^0.34.4","typescript":"^5.0.2","vite-plugin-dts":"^3.5.3","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-react-refresh":"^0.4.3","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/blo_0.4.2_1695122798916_0.7319262667160715","host":"s3://npm-registry-packages"}},"0.4.3":{"name":"blo","version":"0.4.3","keywords":["ethereum","identicon","blockies","typescript"],"author":{"name":"Pierre Bertet","email":"hi@bpier.re"},"license":"MIT","_id":"blo@0.4.3","maintainers":[{"name":"bpierre","email":"hello@pierre.world"}],"homepage":"https://github.com/bpierre/blo","bugs":{"url":"https://github.com/bpierre/blo/issues"},"dist":{"shasum":"88de082cdca6e2a6c14953efd0d605a906eb9f9d","tarball":"https://registry.npmjs.org/blo/-/blo-0.4.3.tgz","fileCount":9,"integrity":"sha512-cvjM1ulSdA9eWNkBmFbxRcemnkA2J/7N3QkiqOp5gUHqyiY2ofayuFH0A7fTbGxM7FR5lKu9J5ask86jjDmtGw==","signatures":[{"sig":"MEUCIDKRIaWJ4mfDvfx61uYA6LEn2pL3LJGi1SfBoD25uuElAiEArepK2FIIkF3x6DAYior50v0U4a6F87OjmR1Lq6sz/JQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17313},"type":"module","_from":"file:blo-0.4.3.tgz","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=16"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"dev":"vite demo","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","build":"tsc && vite build","demo-cli":"cd demo-cli && bun start","bench-cli":"vitest bench benchmark","bench-browser":"vite dev benchmark"},"_npmUser":{"name":"bpierre","email":"hello@pierre.world"},"_resolved":"/tmp/pierre/f1746ca487ed3479a19bb7addb89e5ad/blo-0.4.3.tgz","_integrity":"sha512-cvjM1ulSdA9eWNkBmFbxRcemnkA2J/7N3QkiqOp5gUHqyiY2ofayuFH0A7fTbGxM7FR5lKu9J5ask86jjDmtGw==","repository":{"url":"git+https://github.com/bpierre/blo.git","type":"git"},"_npmVersion":"8.6.0","description":"blo is a small and fast library to generate Ethereum identicons.","directories":{},"sideEffects":false,"_nodeVersion":"17.8.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^4.4.5","eslint":"^8.45.0","vitest":"^0.34.4","typescript":"^5.0.2","vite-plugin-dts":"^3.5.3","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-react-refresh":"^0.4.3","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/blo_0.4.3_1695128456915_0.6562153805526965","host":"s3://npm-registry-packages"}},"0.4.4":{"name":"blo","version":"0.4.4","keywords":["ethereum","eth","identicon","blockies","web3","dapps"],"author":{"name":"Pierre Bertet","email":"hi@bpier.re"},"license":"MIT","_id":"blo@0.4.4","maintainers":[{"name":"bpierre","email":"hello@pierre.world"}],"homepage":"https://github.com/bpierre/blo","bugs":{"url":"https://github.com/bpierre/blo/issues"},"dist":{"shasum":"6d57461fd922d1d3faf95fee4ca685a83c11bf10","tarball":"https://registry.npmjs.org/blo/-/blo-0.4.4.tgz","fileCount":9,"integrity":"sha512-G9Q+FxEqTBFLYrP5FX9TbU5JPHYvj57NF6vRr/deijcLt3BhdgYYd0Hw+09rWO+Frj4W5FoPvqzvBTzAA0PZjw==","signatures":[{"sig":"MEYCIQD0Zg5Rg41SbpYknL9NIObe0/hCKiAJFiCP+CQ4fnW0RwIhAOKlu/f3BsB1qU1YyC8o5DIoD5L1kpnNAmkqSM/UdXlJ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17694},"type":"module","_from":"file:blo-0.4.4.tgz","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=16"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"dev":"vite demo","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","build":"tsc && vite build","demo-cli":"cd demo-cli && bun start","bench-cli":"vitest bench benchmark","bench-browser":"vite dev benchmark"},"_npmUser":{"name":"bpierre","email":"hello@pierre.world"},"_resolved":"/tmp/pierre/eac7f4295c6b71b7c05f41b73c5151b1/blo-0.4.4.tgz","_integrity":"sha512-G9Q+FxEqTBFLYrP5FX9TbU5JPHYvj57NF6vRr/deijcLt3BhdgYYd0Hw+09rWO+Frj4W5FoPvqzvBTzAA0PZjw==","repository":{"url":"git+https://github.com/bpierre/blo.git","type":"git"},"_npmVersion":"8.6.0","description":"blo is a small and fast library to generate Ethereum identicons.","directories":{},"sideEffects":false,"_nodeVersion":"17.8.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^4.4.5","eslint":"^8.45.0","vitest":"^0.34.4","typescript":"^5.0.2","vite-plugin-dts":"^3.5.3","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-react-refresh":"^0.4.3","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/blo_0.4.4_1695130178278_0.9464592331842014","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"blo","version":"1.0.0","keywords":["ethereum","eth","identicon","blockies","web3","dapps"],"author":{"name":"Pierre Bertet","email":"hi@bpier.re"},"license":"MIT","_id":"blo@1.0.0","maintainers":[{"name":"bpierre","email":"hello@pierre.world"}],"homepage":"https://github.com/bpierre/blo","bugs":{"url":"https://github.com/bpierre/blo/issues"},"dist":{"shasum":"c3e105a637c99d34ea47bf83fe02971424b3fb13","tarball":"https://registry.npmjs.org/blo/-/blo-1.0.0.tgz","fileCount":9,"integrity":"sha512-P838VyvMQb+Z9nccKUQhj5mxdV0U7RP/aeEpsX6rNzgn18F9KnOfvN4BKdSUcefe+vE6G7WgT0En4ubhqkEgWA==","signatures":[{"sig":"MEUCIAqkHWXI3XZIUr2jJHqGmiSSLu9y2UJZoy3vKVLAbfd4AiEA47PVsPeBUsCXTjqf/ntTLg8LPPGdASgnrhlp2SkNb5Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17694},"type":"module","_from":"file:blo-1.0.0.tgz","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=16"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"dev":"vite demo","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","build":"tsc && vite build","demo-cli":"cd demo-cli && bun start","bench-cli":"vitest bench benchmark","bench-browser":"vite dev benchmark"},"_npmUser":{"name":"bpierre","email":"hello@pierre.world"},"_resolved":"/tmp/pierre/c15406abe7621b11252d70d09a282597/blo-1.0.0.tgz","_integrity":"sha512-P838VyvMQb+Z9nccKUQhj5mxdV0U7RP/aeEpsX6rNzgn18F9KnOfvN4BKdSUcefe+vE6G7WgT0En4ubhqkEgWA==","repository":{"url":"git+https://github.com/bpierre/blo.git","type":"git"},"_npmVersion":"8.6.0","description":"blo is a small and fast library to generate Ethereum identicons.","directories":{},"sideEffects":false,"_nodeVersion":"17.8.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^4.4.5","eslint":"^8.45.0","vitest":"^0.34.4","typescript":"^5.0.2","vite-plugin-dts":"^3.5.3","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-react-refresh":"^0.4.3","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/blo_1.0.0_1695130671060_0.5606237829253604","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"blo","version":"1.0.1","keywords":["ethereum","eth","identicon","blockies","web3","dapps"],"author":{"name":"Pierre Bertet","email":"hi@bpier.re"},"license":"MIT","_id":"blo@1.0.1","maintainers":[{"name":"bpierre","email":"hello@pierre.world"}],"homepage":"https://github.com/bpierre/blo","bugs":{"url":"https://github.com/bpierre/blo/issues"},"dist":{"shasum":"f314a9c9df1b9508f7d71dff0df5d085ff6a35db","tarball":"https://registry.npmjs.org/blo/-/blo-1.0.1.tgz","fileCount":10,"integrity":"sha512-e8hOrIuM72AHqISqsQARD4tEgpbTQipTz2cVScbrtiwitqo4jLmFBaSau5BXA0KN1brH3aNU/JlBtH/V/SAABg==","signatures":[{"sig":"MEUCIQCGW5O6y9kAE7aZumPshFgLT9l2Pk0Jqtq5rhtTTOI5BwIgaDr5222w544SaS76BMvEBU+XdzuGpvH4C7ZYxFmMFcU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18781},"type":"module","_from":"file:blo-1.0.1.tgz","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=16"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"dev":"vite ./demos/react","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","build":"tsc && vite build"},"_npmUser":{"name":"bpierre","email":"hello@pierre.world"},"_resolved":"/tmp/pierre/02c2e4686c3bdf49df322e883b63a397/blo-1.0.1.tgz","_integrity":"sha512-e8hOrIuM72AHqISqsQARD4tEgpbTQipTz2cVScbrtiwitqo4jLmFBaSau5BXA0KN1brH3aNU/JlBtH/V/SAABg==","repository":{"url":"git+https://github.com/bpierre/blo.git","type":"git"},"_npmVersion":"8.19.2","description":"blo is a small and fast library to generate Ethereum identicons.","directories":{},"sideEffects":false,"_nodeVersion":"19.0.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^4.4.5","eslint":"^8.45.0","vitest":"^0.34.4","typescript":"^5.0.2","vite-plugin-dts":"^3.5.3","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-react-refresh":"^0.4.3","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/blo_1.0.1_1695307091498_0.878632684672368","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"blo","version":"1.1.0","keywords":["ethereum","eth","identicon","blockies","web3","dapps"],"author":{"name":"Pierre Bertet","email":"hi@bpier.re"},"license":"MIT","_id":"blo@1.1.0","maintainers":[{"name":"bpierre","email":"hello@pierre.world"}],"homepage":"https://github.com/bpierre/blo","bugs":{"url":"https://github.com/bpierre/blo/issues"},"dist":{"shasum":"64e2f7370eed789b4730b9b731eb7bf1fad00d54","tarball":"https://registry.npmjs.org/blo/-/blo-1.1.0.tgz","fileCount":13,"integrity":"sha512-j41Dv/BCOnfmDjqlx3VqR+whW5Nvr9XutPHdgi0wdOP4mU/tYaeRVhx3h9VlaB80HUsFPG/P3qSgXWoaximeKA==","signatures":[{"sig":"MEYCIQD5fEU7I9zU3gF1pJw2z2ADINL6guwRRhilC2jtGLo6nAIhANKfShZ/oHZpUktYRSbARxG/JrH0OOgNcLpOauwPuevV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28173},"main":"./dist/index.cjs","type":"module","_from":"file:blo-1.1.0.tgz","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"}},"scripts":{"dev":"vite ./demos/react","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","build":"tsc && vite build"},"_npmUser":{"name":"bpierre","email":"hello@pierre.world"},"_resolved":"/tmp/pierre/754e43e8771464951c88b4e99d367fab/blo-1.1.0.tgz","_integrity":"sha512-j41Dv/BCOnfmDjqlx3VqR+whW5Nvr9XutPHdgi0wdOP4mU/tYaeRVhx3h9VlaB80HUsFPG/P3qSgXWoaximeKA==","repository":{"url":"git+https://github.com/bpierre/blo.git","type":"git"},"_npmVersion":"8.19.2","description":"blo is a small and fast library to generate Ethereum identicons.","directories":{},"sideEffects":false,"_nodeVersion":"19.0.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^4.4.5","eslint":"^8.45.0","vitest":"^0.34.4","typescript":"^5.0.2","vite-plugin-dts":"^3.5.3","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-react-refresh":"^0.4.3","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/blo_1.1.0_1695393665302_0.3697672269258574","host":"s3://npm-registry-packages"}},"1.1.1":{"name":"blo","version":"1.1.1","keywords":["ethereum","eth","identicon","blockies","web3","dapps"],"author":{"name":"Pierre Bertet","email":"hi@bpier.re"},"license":"MIT","_id":"blo@1.1.1","maintainers":[{"name":"bpierre","email":"hello@pierre.world"}],"homepage":"https://github.com/bpierre/blo","bugs":{"url":"https://github.com/bpierre/blo/issues"},"dist":{"shasum":"ed781c5c516fba484ec8ec86105dc27f6c553209","tarball":"https://registry.npmjs.org/blo/-/blo-1.1.1.tgz","fileCount":13,"integrity":"sha512-1uGZInlRD4X1WQP2G1QjDGwGZ8HdGgFKqnzyRdA2TYYc0MOQCmCi37RTQ8oJuI0UF6DYFKXHwV/t1kZkO/fTaA==","signatures":[{"sig":"MEYCIQCabOMM5GXJ1mnvKQfOYar9BLuu8GvTDoesFclyP9XaYgIhAJMO5KmLcQP3BcWPByv1URjfHH+3fr6mwy2rgLdhVY5J","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28944},"main":"./dist/index.cjs.js","type":"module","_from":"file:blo-1.1.1.tgz","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.js"}},"scripts":{"dev":"vite ./demos/react","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","build":"tsc && vite build"},"_npmUser":{"name":"bpierre","email":"hello@pierre.world"},"_resolved":"/tmp/pierre/09f45a579f426ce5261175f7bc3f33a9/blo-1.1.1.tgz","_integrity":"sha512-1uGZInlRD4X1WQP2G1QjDGwGZ8HdGgFKqnzyRdA2TYYc0MOQCmCi37RTQ8oJuI0UF6DYFKXHwV/t1kZkO/fTaA==","repository":{"url":"git+https://github.com/bpierre/blo.git","type":"git"},"_npmVersion":"8.19.2","description":"blo is a small and fast library to generate Ethereum identicons.","directories":{},"sideEffects":false,"_nodeVersion":"19.0.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^4.4.5","eslint":"^8.45.0","vitest":"^0.34.4","typescript":"^5.0.2","vite-plugin-dts":"^3.5.3","@typescript-eslint/parser":"^6.0.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-react-refresh":"^0.4.3","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/blo_1.1.1_1695679558045_0.21197404614021131","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"blo","version":"1.2.0","keywords":["ethereum","eth","identicon","blockies","web3","dapps"],"author":{"name":"Pierre Bertet","email":"hi@bpier.re"},"license":"MIT","_id":"blo@1.2.0","maintainers":[{"name":"bpierre","email":"hi@bpier.re"}],"homepage":"https://github.com/bpierre/blo","bugs":{"url":"https://github.com/bpierre/blo/issues"},"dist":{"shasum":"393fd67f85b08e6835d37e5beb9607ec152044da","tarball":"https://registry.npmjs.org/blo/-/blo-1.2.0.tgz","fileCount":12,"integrity":"sha512-bZES7RzJ14B4WBT3JuOHSOAvCBmUhqznrojQ8xRjN1Fx9X9N7R+rygOFS3k4wXel2nFg4lwzL3luAYzObaDLng==","signatures":[{"sig":"MEUCIQDhtF94Pu4LXW403COQ/baxr2fhMx5NyMxsBlh8Hfnz6AIgFatJTtli3fl294axkfUZfaG1TmReOxA8/bJxXfm5dYY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27423},"main":"./dist/index.cjs","type":"module","_from":"file:blo-1.2.0.tgz","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"}},"scripts":{"dev":"vite ./demos/react","lint":"eslint '**/*.{ts,tsx}'","build":"tsc && vite build"},"_npmUser":{"name":"bpierre","email":"hi@bpier.re"},"_resolved":"/tmp/pierre/54243bd7464c90168349ce6269504dd4/blo-1.2.0.tgz","_integrity":"sha512-bZES7RzJ14B4WBT3JuOHSOAvCBmUhqznrojQ8xRjN1Fx9X9N7R+rygOFS3k4wXel2nFg4lwzL3luAYzObaDLng==","repository":{"url":"git+https://github.com/bpierre/blo.git","type":"git"},"_npmVersion":"10.2.4","description":"blo is a small and fast library to generate Ethereum identicons.","directories":{},"sideEffects":false,"_nodeVersion":"21.6.1","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.8","eslint":"^9.0.0","vitest":"^1.4.0","globals":"^15.0.0","@eslint/js":"^9.0.0","typescript":"^5.4.4","vite-plugin-dts":"^3.8.1","typescript-eslint":"^7.5.0","eslint-plugin-react-refresh":"^0.4.6"},"_npmOperationalInternal":{"tmp":"tmp/blo_1.2.0_1712586371717_0.5414150221143117","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"blo","version":"2.0.0","license":"MIT","author":{"name":"Pierre Bertet","email":"hi@bpier.re"},"description":"blo is a small and fast library to generate Ethereum identicons.","keywords":["ethereum","eth","identicon","blockies","web3","dapps"],"homepage":"https://github.com/bpierre/blo","bugs":{"url":"https://github.com/bpierre/blo/issues"},"repository":{"type":"git","url":"git+https://github.com/bpierre/blo.git"},"module":"./dist/esm/index.js","main":"./dist/cjs/index.js","types":"./dist/types/index.d.ts","sideEffects":false,"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js"}},"devDependencies":{"@types/node":"^22.13.13","typescript":"^5.8.2","vite":"^6.2.3"},"scripts":{"build":"vite build"},"_id":"blo@2.0.0","_integrity":"sha512-VUUr1+vWisNSaHVswkbPbk1+GhygClKILkGchae7nsyuJ4ZVz5l1hEW4eR5F/ly/asM5vzigYGXjPnvrd//CVg==","_resolved":"/tmp/4b79413dd666a041c364c9b6e9e4142e/blo-2.0.0.tgz","_from":"file:blo-2.0.0.tgz","_nodeVersion":"23.7.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-VUUr1+vWisNSaHVswkbPbk1+GhygClKILkGchae7nsyuJ4ZVz5l1hEW4eR5F/ly/asM5vzigYGXjPnvrd//CVg==","shasum":"278c1c9d2a319418c841846c0513e6437a74515f","tarball":"https://registry.npmjs.org/blo/-/blo-2.0.0.tgz","fileCount":31,"unpackedSize":33187,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHUgllu8Gdo/+DTidPRtzO3DJV6nGVg1v4wZyJfuko9oAiAlXUEZM5bR381aVlLAhcS1VtRzTuE6zGUEi2TFz2PS5w=="}]},"_npmUser":{"name":"bpierre","email":"hi@bpier.re"},"directories":{},"maintainers":[{"name":"bpierre","email":"hi@bpier.re"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/blo_2.0.0_1742947051443_0.28498600214808656"},"_hasShrinkwrap":false}},"time":{"created":"2011-05-22T21:52:30.882Z","modified":"2025-03-25T23:57:31.846Z","0.1.0":"2011-05-22T21:52:31.556Z","0.2.0":"2011-06-07T23:57:06.377Z","0.2.1":"2011-10-12T11:26:35.393Z","0.3.0":"2023-09-19T03:07:51.760Z","0.4.0":"2023-09-19T11:19:42.309Z","0.4.1":"2023-09-19T11:23:14.703Z","0.4.2":"2023-09-19T11:26:39.119Z","0.4.3":"2023-09-19T13:00:57.080Z","0.4.4":"2023-09-19T13:29:38.497Z","1.0.0":"2023-09-19T13:37:51.251Z","1.0.1":"2023-09-21T14:38:11.738Z","1.1.0":"2023-09-22T14:41:05.507Z","1.1.1":"2023-09-25T22:05:58.345Z","1.2.0":"2024-04-08T14:26:11.906Z","2.0.0":"2025-03-25T23:57:31.659Z"},"bugs":{"url":"https://github.com/bpierre/blo/issues"},"author":{"name":"Pierre Bertet","email":"hi@bpier.re"},"license":"MIT","homepage":"https://github.com/bpierre/blo","keywords":["ethereum","eth","identicon","blockies","web3","dapps"],"repository":{"type":"git","url":"git+https://github.com/bpierre/blo.git"},"description":"blo is a small and fast library to generate Ethereum identicons.","maintainers":[{"name":"bpierre","email":"hi@bpier.re"}],"readme":"<div align=\"center\">\n<img width=\"860\" alt=\"blo\" src=\"https://github.com/bpierre/blo/assets/36158/7ddc0bf0-076d-4c5a-8624-cc8646e4c5aa\">\n  <br><strong>blo</strong> is a small and fast library to generate Ethereum identicons.\n  <br><br>\n</div>\n\n<p align=center><a href=\"https://www.npmjs.com/package/blo\"><img src=\"https://badgen.net/npm/v/blo\" alt=\"npm version\"></a> <a href=\"https://bundlejs.com/?q=blo\"><img src=\"https://deno.bundlejs.com/badge?q=blo\" alt=\"bundle size\"></a> <a href=\"https://github.com/bpierre/blo/blob/main/LICENSE\"><img src=\"https://badgen.net/github/license/bpierre/blo\" alt=\"License\"></a></p>\n\n## Features\n\n- 🐥 **Small**: **[0.67 KB](https://bundlejs.com/?bundle&q=blo)** gzipped.\n- 💥 **Fast**: **[more than 5x faster](#benchmark)** than the second fastest solution.\n- 🔍 **Optimized**: Leverages SVG to generate compact and sharp images at any size.\n- 💆 **Simple**: Focuses on Ethereum identicons only, allowing for a simpler API.\n- 🗂 **Typed**: Ships with [TypeScript definitions](#types).\n- 👫 **Universal**: Compatible with browsers, [Bun](https://bun.sh/), and [Node.js](http://nodejs.org/).\n- ☁️ **Standalone**: Zero dependencies.\n\n## Library Comparison\n\n| Library                               | Operations/sec[^1] | Size                                                                                                       | Types                                        | Environment[^2]                                | Rendering |\n| ------------------------------------- | -----------------: | ---------------------------------------------------------------------------------------------------------- | -------------------------------------------- | ---------------------------------------------- | --------: |\n| <b>blo</b>                            |         💥 403,226 | [![](https://img.shields.io/badge/0.67kB-6ead0a)](https://bundlejs.com/?bundle&q=blo)                      | ![](https://img.shields.io/badge/yes-6ead0a) | ![](https://img.shields.io/badge/all-6ead0a)   |       SVG |\n| <nobr>ethereum-blockies-base64</nobr> |              2,191 | [![](https://img.shields.io/badge/2.75kB-ee4433)](https://bundlejs.com/?bundle&q=ethereum-blockies-base64) | ![](https://img.shields.io/badge/no-ee4433)  | ![](https://img.shields.io/badge/all-6ead0a)   |       PNG |\n| <nobr>blockies-react-svg</nobr>       |             76,628 | [![](https://img.shields.io/badge/4kB-ee4433)](https://bundlejs.com/?bundle&q=blockies-react-svg)          | ![](https://img.shields.io/badge/yes-6ead0a) | ![](https://img.shields.io/badge/react-ee4433) |       SVG |\n| <nobr>@download/blockies</nobr>       |                112 | [![](https://img.shields.io/badge/0.67kB-6ead0a)](https://bundlejs.com/?bundle&q=%6ead0a%2Fblockies)       | ![](https://img.shields.io/badge/no-ee4433)  | ![](https://img.shields.io/badge/dom-ee4433)   |    Canvas |\n| <nobr>blockies-ts</nobr>              |                137 | [![](https://img.shields.io/badge/1.31kB-6ead0a)](https://bundlejs.com/?bundle&q=blockies-ts)              | ![](https://img.shields.io/badge/yes-6ead0a) | ![](https://img.shields.io/badge/dom-ee4433)   |    Canvas |\n| <nobr>react-blockies</nobr>           |              4,693 | [![](https://img.shields.io/badge/4.72kB-ee4433)](https://bundlejs.com/?bundle&q=react-blockies)           | ![](https://img.shields.io/badge/no-ee4433)  | ![](https://img.shields.io/badge/react-ee4433) |    Canvas |\n\n[^1]: These numbers are based on the [#benchmark](#benchmark) results (higher is better).\n[^2]: 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 blo\npnpm add blo\nyarn add blo\n```\n\n```ts\nimport { blo } from \"blo\";\n\nimg.src = blo(\"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045\");\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 }: { address: `0x${string}` }) {\n  return (\n    <img\n      alt={address}\n      src={blo(address)}\n    />\n  );\n}\n```\n\n## API\n\n<details>\n<summary><b><code>blo(address: Address, size = 64): string</code></b></summary>\n<br>\n\nGet a data URI string representing the identicon as an SVG image.\n\nThe `size` paramater shouldn’t usually be needed, as the image will stay sharp no matter what the size of the `img` element is.\n\nExample:\n\n```ts\nimport { blo } from \"blo\";\n\nimg.src = blo(address); // size inside the SVG defaults to 64px\nimg2.src = blo(address, 24); // set it to 24px\n```\n\n</details>\n\n<details>\n<summary><b><code>bloSvg(address: Address, size = 64): string</code></b></summary>\n<br>\n\nSame as above except it returns the SVG code instead of a data URI string.\n\n</details>\n\n<details>\n<summary><b><code>bloImage(address: Address): BloImage</code></b></summary>\n<br>\n\nGet a `BloImage` data structure that can be used to render the image in different formats.\n\nCheck the [Bun](./demos/bun/index.ts) and [Node](./demos/node/index.js) demos to see usage examples.\n\n</details>\n\n## Types\n\nThe library ships with TypeScript types included.\n\n```ts\n// BloImage contains the data needed to render an icon.\nexport type BloImage = [BloImageData, Palette];\n\n// 4x8 grid of the image left side, as 32 PaletteIndex items.\n// The right side is omitted as it's a mirror of the left side.\nexport type BloImageData = Uint8Array;\n\n// Colors used by a given icon.\nexport type Palette = [\n  Hsl, // background\n  Hsl, // color\n  Hsl, // spot\n];\n\n// Points to one of the three Palette colors.\nexport type PaletteIndex =\n  | 0 // background\n  | 1 // color\n  | 2; // spot\n\n// A color in the HSL color space.\n// [0]: 0-360 (hue)\n// [1]: 0-100 (saturation)\n// [2]: 0-100 (lightness)\nexport type Hsl = Uint16Array;\n\n// An Ethereum address.\nexport type Address = `0x${string}`;\n```\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- This README style was heavily inspired by [colord](https://github.com/omgovich/colord).\n- The visual was made in collaboration with [@dizzypaty](https://twitter.com/dizzypaty) 💖.\n\n## FAQ\n\n### Does it follow the exact same algorithm as Etherscan, MetaMask and others?\n\nYes.\n\n### Does it work with ENS names?\n\nNo it only works with Ethereum addresses, but you can resolve the ENS name to an address (e.g. with [wagmi](https://wagmi.sh/core/actions/fetchEnsAddress)) and pass the result to blo.\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<img width=\"400\" src=\"https://github.com/bpierre/blo/assets/36158/a7c86d01-f003-49d7-8f9e-93097b502872\" alt=\"Ethereum identicon rendered in the terminal\">\n\n### Can it be used to generate other types of identicons?\n\nblo only focuses on the Ethereum identicons algorithm but you can use it with any data, just prefix it with `0x` to fulfill the expected `Address` type if you are using TypeScript.\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## Benchmark\n\nThis benchmark attempts to use the fastest possible way to generate a data URI representing an Ethereum identicon, for each of the libraries compared.\n\n```\n$ bun benchmark\n\nclk: ~2.39 GHz\ncpu: AMD Ryzen 7 PRO 7840U w/ Radeon 780M Graphics\nruntime: bun 1.2.5 (x64-linux)\n\nbenchmark                   avg (min … max) p75 / p99    (min … top 1%)\n------------------------------------------- -------------------------------\nblo                            2.48 µs/iter   2.55 µs   3.13 µs ▅▆█▃▃▂▁▁▁▁▁\n@download/blockies             8.95 ms/iter   9.17 ms  10.63 ms █▇▃▄▂▂▂▂▂▁▁\nblockies-react-svg            13.05 µs/iter  14.39 µs  14.53 µs █▃▆▁▁▁▁▁▁▃▃\nblockies-ts                    7.28 ms/iter   7.41 ms   8.48 ms █▆▂▂▁▂▂▃▁▁▁\nethereum-blockies-base64     456.49 µs/iter 501.59 µs 882.05 µs ▆█▄▄▂▃▂▂▁▁▁\nreact-blockies               213.03 µs/iter 220.64 µs 268.34 µs ▁▃▆██▆▃▂▂▁▁\n\nsummary\n  blo\n   5.26x faster than blockies-react-svg\n   85.78x faster than react-blockies\n   183.82x faster than ethereum-blockies-base64\n   2929.86x faster than blockies-ts\n   3603.5x faster than @download/blockies\n```\n\nSee [./benchmark](./benchmark) for the benchmark code.\n\n## License\n\n[MIT](./LICENSE)\n","readmeFilename":"README.md"}