Solidity与Web3.js:区块链开发的关键技术解析
1. Solidity语言特性与安全隐患
Solidity是一种用于区块链智能合约开发的语言,它在不断发展和完善。在智能合约开发中,关键字的使用至关重要。例如, internal 关键字可用于限制关键函数的作用域,防止外部函数调用执行这些函数。但像 initWallet 函数不能设为 internal ,因为它需作为公共函数,且要在构造函数中从钱包合约调用。
曾经,由于缺少 internal 和 only_uninitialized 等关键字,导致了数百万美元的损失。这凸显了智能合约审计的重要性,需要专业的专家来避免此类风险。
2. Web3.js简介
Web3.js是一个用JavaScript编写的特殊应用程序编程接口库,它能将我们的网页浏览器与以太坊区块链节点连接起来。
以下是Mist、geth和Web3.js的区别:
| 工具 | 通信协议 | 特点 |
| ---- | ---- | ---- |
| Mist | IPC | 在本地计算机上工作,geth创建名为geth.ipc的IPC管道用于双向通信 |
| geth | IPC | 在本地计算机上工作,geth创建名为geth.ipc的IPC管道用于双向通信 |
| Web3.js | RPC | 可跨不同计算机工作,可指定localhost:8545或127.0.0.1:8545连接本地 |
有趣
超级会员免费看
订阅专栏 解锁全文
1237

被折叠的 条评论
为什么被折叠?



