- Panoramix is probably the most well-known one thanks to etherscan.io integrating it. It'll return "python-like" code that is actually quite nice to read. Unfortunately it often ends up having "timeouts" causing the decompiled code to just abruptly stop.
- Dedaub's Decompiler is my personal favorite. When it produces something, it does produce "solidity-like" code that is well readable. But sometimes it just fails to yield anything at all. And even when it does work it struggles whenever memory handling gets involved, requiring some educated guessing.
- ethervm.io's Decompiler is another online service which similar to Panoramix always delivers a result, but it also has the tendency to skip big parts of the code due to "could not resolve jump destination" errors and the like.
- Heimdall does not have an online s
- To create an API User, you need the following things in place: X-Reference-Id and Ocp-Apim-Subscription-Key
- This is used as User ID since the Sandbox is a Mock Environment so we kinda create our own ids and send them over to the sandbox so it can uniquely identify the user
- Get the value for this here: https://www.uuidgenerator.net/api/version4
- Remember to keep this safely as we will use it when configuring our POST request
- Lets say you have your X-Reference-Id as:
9f92971b-cd2e-4feb-9053-0b14d53ac4f5
- Get this from the Primary or Secondary Key of your Collections | Enable remote collection of bills, fees or taxes subscription.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| const { Connection, Keypair, VersionedTransaction } = require ('@solana/web3.js'); | |
| const bs58 = require ('bs58'); | |
| const axios = require('axios'); | |
| // It is recommended that you use your own RPC endpoint. | |
| // This RPC endpoint is only for demonstration purposes so that this example will run. | |
| const connection = new Connection(''); | |
| const keypair = Keypair.fromSecretKey(bs58.decode('')); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| class DownloadUtil { | |
| static Future<String> downloadAndSaveFile(String url, String fileName) async { | |
| final Directory directory = await getApplicationDocumentsDirectory(); | |
| final String filePath = '${directory.path}/$fileName.png'; | |
| final http.Response response = await http.get(Uri.parse(url)); | |
| final File file = File(filePath); | |
| await file.writeAsBytes(response.bodyBytes); | |
| return filePath; | |
| } |