Vượt quá Gas trong Solidity
Bác chạy ganache-cli thì dùng lệnh
ganache-cli -l [Gas Limit cần config]
Làm sao để lấy balanceOf , transfer và transferFrom và các thuộc tính của token ERC20 đã có sẵn
Tiêu đề và nội dung hỏi của bạn mình thấy ko ăn khớp với nhau lắm. Nếu như bạn muốn gọi hàm trong contract của các token ERC-20 (như Chainlink, Band, ...) thì bạn có thể dùng web3.js, truyền địa chỉ và ABI của contract cần gọi vào
Mình mới tập viết smart contract trên Ethereum, cho mình hỏi cách tạo 1 website tạo token
Câu hỏi của bạn hơi khó hiểu đối với mình, nhưng mình nghĩ phần sau đây chắc sẽ có ích cho bạn
Kết nối frontend với web3 bạn có thể tham khảo 2 bài viết dưới đây của tác giả Trần Minh Chiến
- https://viblo.asia/p/xay-dung-ung-dung-phi-tap-trung-dapp-voi-vuejs-vyDZOaP95wj
- https://viblo.asia/p/xay-dung-ung-dung-phi-tap-trung-dapp-voi-reacjs-L4x5x8p15BM
Cách xây dựng 1 website tạo token bạn có thể tham khảo ở trang dapp university
Thực sự mình thấy vẫn mơ hồ về asynchronous (async-await) trong Javascript
Callback, Promise cũng như Async/Await đều là cơ chế bất đồng bộ (non-blocking) cả bạn ạ. Định nghĩa chi tiết ở trang chủ của mozilla
- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise
- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/await
Mình thấy bạn đang hơi hiểu nhầm về đồng bộ và bất đồng bộ (blocking và non-blocking). Code đồng bộ ví dụ như Python hay C/C++ chẳng hạn, code sẽ chạy theo thứ tự từ trên xuống dưới, chờ dòng trên chạy xong mới đến dòng dưới. Như bạn get API chẳng hạn, nó sẽ chờ đến khi kết quả trả về thì mới thực thi tiếp đoạn code ở dưới. Còn Javascript với 3 cơ chế trên khi chạy những đoạn code bất đồng bộ (cần thời gian phản hồi như getAPI) thì sẽ ko đứng đó mà sẽ chạy tiếp các đoạn code ở dưới.
import React, { Component } from 'react';
class App extends Component {
constructor(props) {
super(props);
this.state = {
data: null,
};
}
componentDidMount() {
fetch('https://api.mydomain.com')
.then(response => response.json())
.then(data => this.setState({ data }));
console.log("1");
}
}
export default App;
Như đoạn code trên, dòng console.log sẽ được chạy trước, đến khi có kết quả trả về từ API thì các đoạn code trong then mới được thực thi (gọi lại). Nói dễ hiểu hơn là khi có kết quả API, JS sẽ kêu "ê, tau có kết quả rồi nè, xử lý dữ liệu đi nhé."