What would blockchain look like if it could be displayed with images?
Blockchain is a technical implementation of distributed ledgers and is most often associated with financial transactions. This is far from what we usually think of as “beautiful.” Especially since the data stored on the blockchain is mainly composed of complex numbers, letters and symbols, which are combined with the number of values, sender and receiver addresses (wallet) and Metadata related. However, I have worked before on generating images to represent quantum computing, which is similar to blockchain and also contains complex numbers. I wonder if it is possible to combine the same visualization techniques—using artificial intelligence and large language models and prompt engineering—to generate images from a completely new data source. Let's give it a try!
Everything is about characteristics
To generate images from blockchain, we first need to determine the features to utilize.
, Recipient,
Amount, Fee, , Unique ID and other related metadata. These features can be used as main indicators and are included in tips for AI and large language models to generate corresponding images. The magic behind madness The visualization process will generate an image based on features identified from
Trade<code>交易哈希 a3c26b8572447228f515e71e41ce70af93d590e48e77ff6e97d70beb7919f8da 总费用 0.168317 ADA 总输出 1,307.847408 ADA 发送者 addr1_test1upm4c9yw05l0su5ygfj4a7qhxkqy2qwg5plupmradr6wnxssp8wj0 接收者 addr1_test1uz25rnrpv5njt85h5q2c6yaj2wre0n43s3thed5syrmcdrq85p0rm</code>
We will load transactions from the blockchain and extract key fields. In this case, we will use
to visualize the data stream in a beautiful and imaginative way. Finally, we will use the
prompt engineeringto build appropriate prompts for large language models to generate images. Image generation process We need to make two network requests. One request will retrieve the transaction and the second will call the large language model.
The following image shows this design.
Create scriptWe will use the BlockFrost API to access transactions, which allows us to read data without loading the entire blockchain onto the PC (this can be very large and CPU intensive ). If we have a transaction ID, this is easy to implement in Python.
<code>交易哈希 a3c26b8572447228f515e71e41ce70af93d590e48e77ff6e97d70beb7919f8da 总费用 0.168317 ADA 总输出 1,307.847408 ADA 发送者 addr1_test1upm4c9yw05l0su5ygfj4a7qhxkqy2qwg5plupmradr6wnxssp8wj0 接收者 addr1_test1uz25rnrpv5njt85h5q2c6yaj2wre0n43s3thed5syrmcdrq85p0rm</code>
As shown in the code example above, we are extracting the transaction ID, ADA quantity and the sender and receiver addresses . These numbers and alphanumeric values should be enough to help AI generate images.
Now that the key data points have been extracted, it is time to do some prompt engineering.
Prompt project is the key force in generating images based on the original value . This is also where we can use our creativity.
Since we want to visualize not only the values in the transaction, but also the concept of the information flow between the sender and the receiver, we can include this idea in the prompt and let the AI try to visualize it result.
"Generate an image based on the following transaction details: Imagine a scene representing the flow of value and connections between these entities. Including a grassland, a stream with warm and seductive colors. Transaction ID: abc123, ADA Amount: 10.25, sender: addr1_testabc, receiver: addr1_testxyz. "from the transaction into the prompt.Of course, the prompt is not completely hardcoded as shown in the above example. Instead, before sending the prompt to a large language model, we inject the variable
It's time to get creative
The real magic is in theAs mentioned above, we use a static prompt mainly to indicate how large language models generate images. However, placeholders are still present in the prompt, and our script will insert the
featuresfrom the transaction into these placeholders during the visualization process. One of these characteristics is the amount of value. Group transactions to intervals
Since we want the amount of value (ADA) to be represented by different types of images, we divide the amount into
intervalsCategory of intervals by transaction amount
0-4: Small flowers, a tree<code>def fetch_transaction_details(tx_id): tx_details = api.transaction_utxos(tx_id) ada_amount = sum(int(output.amount[0].quantity) for output in tx_details.outputs if not output.collateral) / 1000000 # 将洛夫莱斯转换为ADA sender = tx_details.inputs[0].address receiver = tx_details.outputs[0].address return TransactionDetails(tx_id, ada_amount, sender, receiver)</code>
It was fun to create this project and I hope it inspires you to have the possibility of what blockchain can do. The complete source code can be found here.
The future is infinitely broad by combining cutting-edge technology of blockchain and large language models and a little bit of imagination. What will you create next? About the author
If you like this post, please consider following my updates on Medium, Twitter and my website to receive notifications of my future articles and research.
The above is the detailed content of I Combined the Blockchain and AI to Generate Art. Here’s What Happened Next.. For more information, please follow other related articles on the PHP Chinese website!