Limitation
Những hạn chế của Solidity
Giá trị return của Function
Đối với struct: không thể trả về một giá trị là struct như là một object
Đối với với array: chỉ hỗ trợ mỗi kiểu giá trị address, ví dụ như: []address
Đối với các kiểu giá trị khác như string, int, bool,... hiện tại chưa hỗ trợ. Tuy nhiên từ version 0.6 trở đi Solidity ra mắt tính năng AbiEncoderV2 nhằm khắc phục nhược điểm này, nhưng hiện tại vẫn ở trình trạng thử nghiệm và không được khuyến khích sử dụng trong môi trường production.
Không có các hàm sinh ra giá trị ngẫu nhiên
Các giá trị trong Solidity là luôn xác định, không hỗ trợ sinh ra các giá trị ngẫu nhiên.
Khi muốn sử dụng giá trị ngẫu nhiên, không nên sử dụng các giá trị nằm trong Contract vì nó luôn có thể quan sát được.
Lưu ý khi sử dụng các giá trị:
block.timestampvàblock.difficulty:block.timestamp là các giá trị được gán bởi Miner khi confirm Transaction. Tuy nhiên dùng giá trị này có nghĩa là tin tưởng vào Miner để cho ra kết quả, điều này có thể gây ra rủi ro nếu Miner can thiệp.
Các link tham khảo:
Các tính năng thử nghiệm của Solidity
Hiện nay roadmap của các tính năng thử nghiệm trên Solidity chưa rõ ràng, bản thân Solidity cũng chưa có bản 1.0 nên không khuyến khích sử dụng các tính năng này.
Last updated
Was this helpful?