uint256 => 2^256
byte32 => 2^8^32 (byte=2^8) or 32個byte 放32字元(ascii)
0x => HEX 16進位
0x64 => 6 * (16^1) + 4 * (16^0) = 100
0x0164 => 1 * (16^2) + 6 * (16^1) + 4 * (16^0) = 365
0x HEX 16進位 最小0 最大F
回到最上面byte32 轉成 0x HEX 為了避免太長,2^8 = 256 => 16^2 => 16位元顯示要兩位 0~256 => 00~FF || FF => 15 * (16^1) + 15 * (16^0)
所以 0x0164,通常都是兩位處理 0x 01 64
https://medium.com/joyso/solidity-%E5%A3%93%E7%B8%AE%E6%99%BA%E8%83%BD%E5%90%88%E7%B4%84%E7%9A%84%E8%BC%B8%E5%85%A5%E8%B3%87%E6%96%99-65a870d1f04e
https://hackernoon.com/your-private-solidity-variable-is-not-private-save-it-before-it-becomes-public-52a723f29f5e
上面範例中,play(100)被呼叫後,從transcation data內得知
0x6587f6ec0000000000000000000000000000000000000000000000000000000000000064
然後先取得play()這部份的data
bytes4(keccak256(‘play(uint)'))
然後得知 0000000000000000000000000000000000000000000000000000000000000064 就是 uint部份,得到的這個值是經過hex才顯示的
byte32:00 為1個byte(16 bits),共32個
64=> 6 * (16^1) + 4 * (16^0) = 100
uint256 => 2^256 => 8^32 => byte32
https://github.com/poanetwork/blockscout/tree/master/docker
https://embark.status.im/docs/cockpit_dashboard.html
https://ywnz.com/linuxjc/2024.html
在Ubuntu Server 18.04 LTS下遇到了sudo速度非常慢的问题,具体表现是在提交命令之后大概需要10秒左右才有输入sudo密码或者开始运行,su命令同样也非常慢。这在升级前使用Ubuntu Server 16.04 LTS并没有,显然可能是Ubuntu Server 18.04 LTS版本的问题。
问题的原因
Ubuntu Server被设计成一种类似于分布式的操作系统网结构,允许/etc/sudoers中的成员不在本机上。从而sudo时会先从网络上寻找可能的sudoer然后才是本地,而这10s左右的时间就是整个DNS流程的最长时间。
解决办法
首先输入hostname,得到本机当前的互联网名称(大概跟windows下的计算机名称差不多)。然后使用su或sudo打开/etc/hosts,添加一行:
127.0.0.1计算机名计算机名.localdomain
关闭并保存。这样处理后sudo速度恢复正常。
1、用docker-machine建立開發環境 (VM),vm內的docker 環境是完整的,自己灌很浪費時間
http://sueboy.blogspot.com/search/label/docker-machine
然後 記得vm裡面跑 portainer.io 管理docker用,web介面
會省下你一大堆時間!
以上這個步驟是快速建立可以跑docker環境,然後又可以用圖形管理看log、砍image等等
2、docker 一般操作網路上都有,一定要看,就算有圖形化介面,有些時候你還是需要指令
記得一件事,要學docker-compose,然後基本上專案用docker,更正確來說,是要會用、會寫docker-compose
docker-compose 會比 單純用docker,好用很多
http://sueboy.blogspot.com/2018/12/ethereum-poa-docker-compose-docker.html
3、注意iptables,用docker後,常常會碰到iptables的問題,網路有問題,不能連,連不上,解答:把docker服務重開,就會重新設定iptables…這一堆人死在這上面
如果docker服務重開後,網路還是不行,我建議是用docker-machine重建一台vm比較快,再用docker-compose重新執行,比較快,省時間
4、通常用了docker的後端,十之八九就會想上K8s (kubernets)
到這階段就是超級大坑了!!!
非常大的坑! 會死人的坑! 到這階段千萬要避開,一定要避開!
坑指自架