JSON ABI - Rian010/Journal GitHub Wiki

JSON ABI: Antarmuka Pemrograman Aplikasi untuk Smart Contract

JSON ABI (Application Binary Interface) adalah format file yang mendefinisikan cara program eksternal dapat berinteraksi dengan smart contract. File JSON ABI berisi informasi tentang:

  • Fungsi: Nama dan parameter fungsi yang tersedia dalam smart contract.
  • Event: Peristiwa yang dapat dipancarkan oleh smart contract.
  • Struct: Struktur data yang digunakan oleh smart contract.

Manfaat menggunakan JSON ABI:

  • Membuat interaksi dengan smart contract lebih mudah: JSON ABI menyediakan format yang terstruktur dan mudah dibaca untuk mendefinisikan cara program eksternal dapat berinteraksi dengan smart contract.
  • Meningkatkan kompatibilitas: JSON ABI adalah format standar yang dapat digunakan oleh berbagai bahasa pemrograman dan platform.
  • Mempermudah pengembangan: JSON ABI memungkinkan pengembang untuk fokus pada logika smart contract tanpa harus khawatir tentang detail implementasi interaksi.

Contoh JSON ABI:

[
  {
    "constant": true,
    "inputs": [],
    "name": "name",
    "outputs": [
      {
        "name": "",
        "type": "string"
      }
    ],
    "payable": false,
    "stateMutability": "view",
    "type": "function"
  },
  {
    "constant": false,
    "inputs": [
      {
        "name": "_name",
        "type": "string"
      }
    ],
    "name": "setName",
    "outputs": [],
    "payable": false,
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "name": "_name",
        "type": "string"
      }
    ],
    "name": "NameChanged",
    "type": "event"
  }
]

Sumber:

Catatan:

  • JSON ABI bukan satu-satunya cara untuk berinteraksi dengan smart contract. Anda juga dapat menggunakan RPC (Remote Procedure Call) atau Web3.js.
  • JSON ABI adalah format yang statis. Jika Anda mengubah kode smart contract, Anda perlu memperbarui file JSON ABI.

Tips:

  • Gunakan alat online untuk mengonversi kode Solidity ke JSON ABI.
  • Pastikan file JSON ABI Anda aman dan tidak dapat diakses oleh orang yang tidak berwenang.