"0.0" khi so sánh với false hay true thì sẽ bị ép về kiểu boolean, mà như phần Những giá trị được coi là false anh có đề cập ở lúc đầu đấy, chỉ có 8 giá trị khi ép về boolean thì ra false thôi, và trong đó không có "0.0", chỉ có 0.0 với "0" thôi em ạ =))
Và phần ví dụ của em nó là một ví dụ rõ ràng cho mệnh đề này đấy
Phép toán == trong PHP không có tính chất bắc cầu (transitive)
Người viết bài này không có kiến thức thực tế về test. Cái Grammarly là một tool chuyên làm thay đổi code, dẫn đến kết quả test sai mà cũng đưa vào danh sách. Ngoài ra, khi test trên webapp luôn hạn chế sử dụng trình duyệt có cài các extension.
_target.call.value(msg.value)() là hàm để chuyển tiền cho địa chỉ _target, nghĩa là địa chỉ King contract (và nó trả về true - transaction thành công, hoặc false - transaction thất bại)
khi King contract nhận được tiền, nó sẽ kích hoạt fallback function
tại dòng king.transfer(msg.value); King contract sẽ chuyển tiền đó cho king hiện tại. Tuy nhiên, nếu king hiện tại là một contract không có payable fallback function thì dòng đó sẽ bị revert, dù e có chuyển 1 tỉ eth cũng không thành công, transaction thất bại, do đó không thể trở thành King được.
Có nghĩa là, sau khi e dùng một contract không có payable fallback function và biến contract đó thành King thì không ai có thể chiếm lại được quyền King nữa.
đoạn này ý nghĩa là e sẽ chuyển cho contract King một khoản eth với giá trị bằng msg.value
về cơ bản thì chỉ cần _target.call.value(msg.value)() là đủ
tuy nhiên call trong solidity là một hàm low level, vậy nên nếu transaction không thành công nó cũng sẽ không xảy ra execption gì cả mà chỉ trả về giá trị false, vì thế ta sẽ cho vào if và revert() nó ra để biết là nó đã lỗi (thất bại)
Phần kết luận hình như bạn bị nhầm. 1 class thì đâu có sồ nhiều đâu bạn, làm sao Blocks, Procs, Lambdas lại là 3 class được. Bản thân 1 class cũng là 1 object thuộc Lớp Class, nên không có số nhiều cho 1 class
Có 1 cách các bạn không cần sử dụng hàm constructor nghĩa là cũng không cần sử dụng bind(), nhưng mình không hiểu sao nó không sử dụng được với app laravel, mình viết ở app reactjs thì được?, bạn nào biết thì comment chỉ giúp mình nhá 😄 luôn đó là:
=> Chỉnh config lại chút . Mình đang dùng laravel mix bản 5.6 . ban đầu cũng lỗi như vậy. Sau đó mình xem trên google thì phải chỉnh lại . Mình đã chỉnh được.. Có gì bạn add skype mình nhé. truongminhtri_015100 . sẵn sàng giúp đỡ bạn. hihi.
THẢO LUẬN
Mình hay dùng onItemTouch trong activity luôn nhưng vẫn chưa biết 2 cách này nó ưu nhược điểm chỗ nào, cái nào tối ưu hơn nhỉ?
"0.0"khi so sánh vớifalsehaytruethì sẽ bị ép về kiểuboolean, mà như phần Những giá trị được coi làfalseanh có đề cập ở lúc đầu đấy, chỉ có 8 giá trị khi ép về boolean thì rafalsethôi, và trong đó không có"0.0", chỉ có0.0với"0"thôi em ạ =))Và phần ví dụ của em nó là một ví dụ rõ ràng cho mệnh đề này đấy
Người viết bài này không có kiến thức thực tế về test. Cái Grammarly là một tool chuyên làm thay đổi code, dẫn đến kết quả test sai mà cũng đưa vào danh sách. Ngoài ra, khi test trên webapp luôn hạn chế sử dụng trình duyệt có cài các extension.
à giờ thì em đã hiểu cách sử dụng contract để tấn công nó lại linh hoạt vậy , em cảm ơn anh
_target.call.value(msg.value)()là hàm để chuyển tiền cho địa chỉ_target, nghĩa là địa chỉ King contract (và nó trả vềtrue- transaction thành công, hoặcfalse- transaction thất bại)khi King contract nhận được tiền, nó sẽ kích hoạt fallback function
tại dòng
king.transfer(msg.value);King contract sẽ chuyển tiền đó cho king hiện tại. Tuy nhiên, nếu king hiện tại là một contract không cópayable fallback functionthì dòng đó sẽ bị revert, dù e có chuyển 1 tỉ eth cũng không thành công, transaction thất bại, do đó không thể trở thành King được.Có nghĩa là, sau khi e dùng một contract không có
payable fallback functionvà biến contract đó thành King thì không ai có thể chiếm lại được quyền King nữa.hay...
sao mình làm y chang lun mà nó vẫn báo lỗi ta???
Bạn init datatable như bình thường sau đó dùng jquery để add class thôi bạn. Ví dụ
Trong đó cái id example_filter và example_paginate là do datatable nó sinh ra
em chưa hiểu lắm đoạn sau khi em làm king xong. Em dùng 1 tài khoản khác cố gắng để trở thành KIng lại không được là vì lí do gì ạ
Vì em đang hiểu là đoạn _target.call.value(msg.value)() chỉ để check gửi transaction có thành công hay không thôi.
Đâu có liên quan gì tới người tiếp theo gửi 1 lượng ether lớn hơn để trở thành KING đâu ạ, ví dụ 10 ether
Cơ bản thì bạn hiểu đúng rồi.
switchMapnó sẽ cancel observable hiện tại ngay khi nó tiếp nhận 1 query mới ("abc").đoạn này ý nghĩa là e sẽ chuyển cho contract King một khoản eth với giá trị bằng
msg.valuevề cơ bản thì chỉ cần
_target.call.value(msg.value)()là đủtuy nhiên
calltrong solidity là một hàm low level, vậy nên nếu transaction không thành công nó cũng sẽ không xảy ra execption gì cả mà chỉ trả về giá trịfalse, vì thế ta sẽ cho vàoifvàrevert()nó ra để biết là nó đã lỗi (thất bại)anh có bổ sung lên bài viết rồi, e tham khảo nhé
cảm ơn thớt, bài viết rất hữu ích =))
thank bạn nhá, mình cũng vừa tìm hiểu vừa viết bài nên còn thiếu xót nhiều lắm!!
@dat12012 cám ơn bạn, nhờ có các bạn hỗ trợ mình cũng khá hơn rồi
)
cài skype vào đi.
à chỗ result. bạn kết hợp dùng filter sau đó map. nhìn sẽ chuyên nghiệp hơn.
Phần kết luận hình như bạn bị nhầm. 1 class thì đâu có sồ nhiều đâu bạn, làm sao Blocks, Procs, Lambdas lại là 3 class được. Bản thân 1 class cũng là 1 object thuộc Lớp Class, nên không có số nhiều cho 1 class
bạn có sử dụng mxh nào khác không vậy?
mình không sử dụng skype
thanks bạn
Có 1 cách các bạn không cần sử dụng hàm constructor nghĩa là cũng không cần sử dụng bind(), nhưng mình không hiểu sao nó không sử dụng được với app laravel, mình viết ở app reactjs thì được?, bạn nào biết thì comment chỉ giúp mình nhá 😄 luôn đó là:
=> Chỉnh config lại chút . Mình đang dùng laravel mix bản 5.6 . ban đầu cũng lỗi như vậy. Sau đó mình xem trên google thì phải chỉnh lại . Mình đã chỉnh được.. Có gì bạn add skype mình nhé. truongminhtri_015100 . sẵn sàng giúp đỡ bạn. hihi.