Overview

scripty.sol is gas efficient, HTML builder with multiple JS assemblers and data storage solution for on-chain composable generative art and more.

It allows you to build HTML files with embedded JS stored on-chain. Benefits of scripty.sol:

  • Gas efficient. It utilises DynamicBuffer and ethfs to save huge amount of gas while storing and building large scripts.

  • You can use already deployed storage solutions.

  • You can build modular JS based HTML files directly on-chain with low gas cost.

  • Provides multiple JS assembling options.

Deployed Contracts

Ethereum Mainnet contracts:

Ethereum Goerli contracts:

Examples

Stacked 3D Objects Shapes - NFT1 NFT2

Both NFTs assemble PNG compressed base 64 encoded three.js with an uncompressed demo scene. First NFT creates some 3D cubes. Second NFT gets the first NFT scene on-chain and adds spheres.

p5js from EthFS FileStore

Assembles base64 encoded p5.js that's stored in ethfs's FileStore contract with a demo scene. Metadata and animation URL are both base64 encoded.

p5js from EthFS FileStore - URL Safe

Assembles base64 encoded p5.js that's stored in ethfs's FileStore contract with a demo scene. Metadata and animation URL are both URL encoded.

Random Shapes

Assembles multiple uncompressed scripts that draw shapes on same <canvas></canvas> element with a controller script that is created in NFT contract. This controller script passes some chain parameters to canvas scene.

Cube3D - GZIP Compressed - BASE64 Encoded

Assembles GZIP compressed Base64 encoded three.js with a demo scene. Metadata and animation URL are both base64 encoded.

Cube3D - GZIP Compressed - URL Safe

Assembles GZIP compressed base64 encoded three.js with a demo scene. Metadata and animation URL are both URL encoded.

Cube3D - PNG Compressed - URL Safe

Assembles PNG compressed base64 encoded three.js with a demo scene. Metadata and animation URL are both URL encoded.

Cube3D - PNG Compressed - URL Safe with custom wrap

Assembles PNG compressed base64 encoded three.js with a demo scene. Metadata and animation URL are both URL encoded. It uses custom script wraps.

Last updated