مشخصات توابع و ایونت های web3js

دانلود Web3.js

Json Interface

رابط json یک شی json است که رابط باینری برنامه (ABI) را برای یک قرارداد هوشمند اتریوم توصیف می‌کند.

با استفاده از این رابط جاوا اسکریپت web۳.js قادر است با استفاده از شی web۳.eth.Contract شی جاوا اسکریپتی که نشان دهنده قرارداد هوشمند و متدها و رویدادهای آن است را ایجاد کند.

Specification

تابع ها :

  • type
    :
    “function”
    ,
    “constructor”
    (می توان آن را حذف کرد، پیش فرض “تابع”؛ “بازگشت” نیز ممکن است اما در web۳.js مرتبط نیست)؛
  • name
    : نام تابع (فقط برای انواع تابع موجود است)؛
  • constant
    :
    true
    در صورتی که تابع برای اصلاح وضعیت بلاکچین مشخص نشده باشد;
  • payable
    :
    true
    اگر تابع اتر را بپذیرد، پیش‌فرض‌ false است
  • stateMutability
    : یک رشته با یکی از مقادیر زیر :
    pure
    ( مشخص‌شده برای خواندن حالت بلاکچین ) ,
    view
    ( همان مقدار ثابت بالا ) ,
    nonpayable
    و
    payable
    ( همان مقدار قابل پرداخت بالا )
  • inputs
    : یک آرایه از اشیا , که هر کدام شامل :
    • name
      : نام پارامتر.
    • type
      : نوع استاندارد پارامتر.
  • outputs
    : آرایه ای از اشیا همانند ورودی ها را می توان حذف کرد اگر خروجی وجود نداشته باشد.

ایونت ها :

  • type
    : همیشه
    “event”
  • name
    : نام رویداد.
  • inputs
    : آرایه ای از اشیا که هر کدام شامل موارد زیر است
    • name
      : نام پارامتر.
    • type
      : نوع استاندارد پارامتر.
    • indexed
      :
      true
      اگر فیلد بخشی از مباحث لاگ باشد،
      false
      اگر یکی از بخش های داده لاگ باشد.
  • anonymous
    :
    true
    اگر این رویداد به عنوان ناشناس اعلام شد.

مثال

contract Test {
    uint a;
    address d = 0x12345678901234567890123456789012;

    function Test(uint testInt)  { a = testInt;}

    event Event(uint indexed b, bytes32 c);

    event Event2(uint indexed b, bytes32 c);

    function foo(uint b, bytes32 c) returns(address) {
        Event(b, c);
        return d;
    }
}

// would result in the JSON:
[{
    "type":"constructor",
    "payable":false,
    "stateMutability":"nonpayable"
    "inputs":[{"name":"testInt","type":"uint256"}],
  },{
    "type":"function",
    "name":"foo",
    "constant":false,
    "payable":false,
    "stateMutability":"nonpayable",
    "inputs":[{"name":"b","type":"uint256"}, {"name":"c","type":"bytes32"}],
    "outputs":[{"name":"","type":"address"}]
  },{
    "type":"event",
    "name":"Event",
    "inputs":[{"indexed":true,"name":"b","type":"uint256"}, {"indexed":false,"name":"c","type":"bytes32"}],
    "anonymous":false
  },{
    "type":"event",
    "name":"Event2",
    "inputs":[{"indexed":true,"name":"b","type":"uint256"},{"indexed":false,"name":"c","type":"bytes32"}],
    "anonymous":false
}]
4.6/5 - (16 امتیاز)
آموزش 0 تا 100 web3.js