Interact with Contract

Create Http Client

Tạo một http client để tương tác với một Node của Infura

val web3jHttp = Web3j.build(HttpService("https://rinkeby.infura.io/v3/token"))

Function

Function trong web3j mô tả function thật của Smart Contract đã được deploy. Lưu ý cần xác định 3 thứ:

  • Tên function

  • Danh sách kiểu dữ liệu đối số đầu vào

  • Danh sách kiểu dữ liệu đối số đầu ra

//Function for transaction
val function = Function(
    "functionName",
    listOf(inputParams),
    listOf(outputParams)
)

//Example
val function = Function(
    "functionName",
    listOf(Address("accountAddress"), Utf8String("param1"), Int(5)),
    listOf(Utf8String(){}, DynamicArray<Int>(){})
)

Send Read Transaction

Chỉ định function, rồi tạo Transaction và tiến hành gửi.

Send Write Transaction

Trước tiên ta cần Private Key để ký Transaction.

Sau đó ta phải lấy Nounce để tạo Transaction.

Sau đó tiến hành chỉ định function rồi tạo Transaction, với Nounce đã lấy, thiết lập Gas Price, Gas Limit, và quan trọng là phải ký lên Transaction bằng Private Key trước đó.

Last updated

Was this helpful?