Nguồn: Tron.network
Giới hạn tiêu hao năng lượng gốc cho nhà phát triển
TRON Network huyến khích đặt giới hạn năng lượng gốc của nhà phát triển ở mức phù hợp trước khi triển khai hợp đồng để Mainnet. Nếu hợp đồng sử dụng phí năng lượng người dùng ở tỷ lệ thấp (nhà phát triển trả hầu hết năng lượng), nhưng bị tấn công hoặc tồn tại các lỗ hổng như được mô tả trong các phần trước, nhà phát triển nên đặt chi phí năng lượng gốc trong quá trình triển khai.
Dù có xảy ra loại tấn công nào đi nữa, thì nhà phát triển sẽ không sử dụng nhiều hơn số năng lượng gốc (đã cài đặt trước) cho mỗi lần thực hiện hợp đồng thông minh. Tham số này ngăn chặn các cuộc tấn công độc hại và vi phạm lệ phí được đặt ra bởi giới hạn chi phí của mạng lưới quy định.
Mỗi lần thực hiện bản TRON nâng cấp này. Theo mặc định, các hợp đồng được triển khai không có tham số (bao gồm các hợp đồng cũ trước khi tính năng này được bật) được đặt thành 1e7 Energy. Việc đặt nó ở một giá trị lớn hơn 1e7 sẽ tạo ra lỗi. Giá trị này có thể được đặt trong Tron-Box và Tron-Web:
Tron-Box
Để triển khai hợp đồng thông minh Tron-Box, tất cả các cài đặt chung đều nằm trong tệp tronbox.js. Trong tệp này, có một tham số gọi là originEnergyLimit, tham chiếu đến giới hạn năng lượng gốc của nhà phát triển.
JavaScript
module.exports = {
networks: {
development: {
from: ‘TPL66VK2gCXNCD7EJg9pgJRfqcRazjhUZY’,
privateKey: ‘da146374a75310b9666e834ee4ad0866d6f4035967bfc76217c5a495fff9f0d0’,
consume_user_resource_percent: 30,
feeLimit: 1e9,
originEnergyLimit: 1e7, // Set origin energy limit
fullHost: ‘https://api.shasta.trongrid.io’,
network_id: “*” // Match any network id
},
}
};
Tron-Web
tronweb.contract.new API có thể nhận một tham số có tên là originEnergyLimit. Tham số này đề cập đến giới hạn năng lượng nguồn gốc của nhà phát triển.
JavaScript
let abi = ‘abi’;
let code = ‘bytecode’;
async function deploy_contract() {
let contract_instance = await tronWeb.contract().new({
abi: JSON.parse(abi),
bytecode: code,
feeLimit: 1e9,
callValue: 0,
userFeePercentage: 30,
originEnergyLimit: 1e7, // Set origin energy limit
parameters: [param1, param2, param3, …]
})
console.log(contract_instance.address);
}
deploy_contract();
TRON nâng cấp Cập nhật giới hạn năng lượng của nhà phát triển
Sau khi hợp đồng triển khai, giới hạn năng lượng nguồn gốc của nhà phát triển có thể được điều chỉnh thông qua thông số UpdateEnergyLimit. Hãy xác nhận và phát đi trên hệ thống để đảm bảo nó có hiệu lực ngay lập tức.