0.0.1-dev.2 • Published 1 year ago

eth-blockies v0.0.1-dev.2

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

eth-blockies-wasm-js (develop preview)

  • Note: The current version is a develop preview (pre-alpha) version, so functions and their signatures are not guaranteed to be fixed.
    If you use this version, use with caution!

    • Porting from the Rust library eth-blockies-rs...
    • Currently not optimized yet in its binary size & performance
      (seems to be much faster than the pure JS version when generating millions of blockies, though)
  • Examples of the current version:

    import * as ethBlockies from 'eth-blockies';
    
    const size = 8; // between 5-16
    const seed = '0x63006c2d5428b6c7ab64b773980831f0a3edf77b'; // for Ethereum address seed, the seed string must be lowercase
    const outputPngDim = [32, 32];
    const outputAnsiDim = [8, 8];
    const rgbToGray = rgb => Math.round(rgb[0] * 0.299 + rgb[1] * 0.587 + rgb[2] * 0.114)
    
    
    
    // list all functions
    console.log('\n<<< function list >>>\n',
        Object.keys(ethBlockies.default).filter(el => !el.startsWith("__")),
        '\n');
    
    
    
    // base data
    
    const data = ethBlockies.data(size, seed);
    console.log('\n<data> (' + data.constructor.name + ')\n', data);
    
    const dataMapped = ethBlockies.dataMapped(size, seed, rgbToGray);
    console.log('\n<dataMapped> (' + dataMapped.constructor.name + ')\n', dataMapped);
    
    const indexedData = ethBlockies.indexedData(size, seed);
    console.log('\n<indexedData> (' + indexedData.constructor.name + ')\n', indexedData);
    
    const indexedDataMapped = ethBlockies.indexedDataMapped(size, seed, rgbToGray);
    console.log('\n<indexedDataMapped> (' + indexedDataMapped.constructor.name + ')\n', indexedDataMapped);
    
    
    
    // encoded data
    const ansiseqData = ethBlockies.ansiseqData(size, seed, outputAnsiDim, true); // true: is_utf8
    console.log('\n<ansiseqData> (' + ansiseqData.constructor.name + ')\n', ansiseqData);
    
    const pngData = ethBlockies.pngData(size, seed, outputPngDim);
    console.log('\n<pngData> (' + pngData.constructor.name + ')\n', pngData);
    
    const pngDataBase64 = ethBlockies.pngDataBase64(size, seed, outputPngDim, true); // true: prepend data_uri string
    console.log('\n<pngDataBase64> (' + pngDataBase64.constructor.name + ')\n', pngDataBase64);
    
    const compressedPngData = ethBlockies.compressedPngData(size, seed, outputPngDim);
    console.log('\n<compressedPngData> (' + compressedPngData.constructor.name + ')\n', compressedPngData);
    
    const compressedPngDataBase64 = ethBlockies.compressedPngDataBase64(size, seed, outputPngDim, true); // true: prepend data_uri string
    console.log('\n<compressedPngDataBase64> (' + compressedPngDataBase64.constructor.name + ')\n', compressedPngDataBase64);