hot-chain-svg's People
Forkers
colinplatt bensadeghi dappvinci libevm immannino emo-eth aceluodan dom0xdotexe gbalbuena kaelsensei thecuratorcm emremreistaken mickdegraaf prashantnigam10 nerderlyne kerandor nipz skale-jace 0xmigi shunkakinoki fiendsxyz defchen edouardmass iltumio 0xsplits verynifty guille-block cleancoindev mahapo 0xkoda whitespur abhishekthak344 vincanger yehjxraymond ibdotxyz willdphan leohchen nnnnicholas navinavu namesys-eth verynifty shanghai-bill salieflewis scillidan avalidurl sherrbsshot-chain-svg's Issues
Handle errors coming from the contract
When the contract revert
s, we render undefined
:/
generate solidity version from an SVG file
Wonder if any work has been done on a script to generate the solidity version with all the concatenations by just providing regular svg code?
Use native Solidity compiler
solc
is easy to install but slow.
Add a way to log from the contract
Sometimes it's useful to log some stuff from the contract. I see 2 ways we could support that:
- Add VM hooks that call a native function (similar to the way Hardhat does it, could even reuse their console.log)
- Emit a Solidity event and parse it from the transaction receipt
`stringsEqual` can be made more efficient without jeopardizing correctness
hot-chain-svg/contracts/Utils.sol
Line 77 in 6d19640
This function compares two strings by taking the keccak256
of their abi.encodePacked()
ings.
We know the input type of keccak256
is bytes
and string
is easily converted to bytes
by simple casting.
So this comparison can be made where each parameter is digested by keccak256(bytes(PARAM))
.
This gives an equivalent correct check and saves gas drastically, as abi.encodePacked
is really a superfluous operation here.
Granted, this function may be for validation during "callstatic" svg renderings, but even in that context gas savings may be ideal especially if the rendering of the artwork hits close to the available gas allowance of the queried provider.
Use different addresses during QA
Not very familiar with the ethereum/vm, so I haven't been able to figure this out yet...
Is it possible to use a random address for each of the 250 text tokens?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.