web3_sha3
Generate Keccak-256 cryptographic hash for Ethereum data using hex string input to secure and verify blockchain transactions and smart contracts.
Instructions
Returns Keccak-256 hash of the given data
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | Data to hash (hex string starting with 0x) |
Implementation Reference
- src/index.ts:134-155 (handler)The handler function for the web3_sha3 tool. It takes hex data input, calls the RPC web3_sha3 method, formats the hash result, and handles errors.async ({ data }) => { try { const result = await makeRPCCall("web3_sha3", [data]); return { content: [ { type: "text", text: formatResponse(result, "Keccak-256 Hash"), }, ], }; } catch (error: any) { return { content: [ { type: "text", text: `Error: ${error.message}`, }, ], }; } },
- src/index.ts:132-133 (schema)Input schema using Zod for the data parameter: a hex string starting with 0x.data: z.string().describe("Data to hash (hex string starting with 0x)"), },
- src/index.ts:128-133 (registration)Registration of the web3_sha3 tool via server.tool, including name, description, and schema.server.tool( "web3_sha3", "Returns Keccak-256 hash of the given data", { data: z.string().describe("Data to hash (hex string starting with 0x)"), },
- src/index.ts:89-96 (helper)Helper function used by the handler to perform the actual RPC call to the Ethereum provider.async function makeRPCCall(method: string, params: any[] = []): Promise<any> { try { const result = await provider.send(method, params); return result; } catch (error: any) { throw new Error(`RPC call failed: ${error.message}`); } }