作者热门文章
- VisualStudio2022插件的安装及使用-编程手把手系列文章
- pprof-在现网场景怎么用
- C#实现的下拉多选框,下拉多选树,多级节点
- 【学习笔记】基础数据结构:猫树
近几年区块链很火,随着各国政府对加密技术的监管政策不断变化和BTC的暴涨,越来越多人对这项去中心化的技术充满着期待。这次我用openEuler 24.09 RISC-V的远程机器尝试编译了Solidity项目,发现过程比较顺畅,于是记录下来,后面有机会我也多多探讨区块链在RISC-V的可能性.
。
git clone git@github.com:ethereum/solidity.git
先是把Solidity的源码项目克隆了下来,由于项目比较庞大,用https拉的过程中总是会出现错误,我改成了ssh,第一步done! 。
。
由于项目里面包含了好几个submodule,我在拉取submodule的过程中也失败了,然后尝试手动克隆(方法同上)后成功.
这是.gitmodules文件,里面包含了需要拉取的子模块,同时"deps/xxx"就是项目所存放的目录,只需要手动将项目拉到"deps"目录就行.
。
接下来就是编译,不过也遇到了编译失败的问题,编译命令比较简单,参照文档如下:
mkdir build
cd build
cmake .. && make
很明显这是一个跟浮点数转换有关的编译错误,面对这种情况,只需要在Cmake里面加上一个选项.
cmake -DCMAKE_CXX_FLAGS="-Werror=float-conversion" ..
Done.
编译就暂时先跳过了,试试写一个Solidity的demo.
。
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
contract HelloWorld {
string private message;
constructor() {
message = "Hello, World!";
}
function getMessage() public view returns (string memory) {
return message;
}
}
运行./solc --bin --abi xxx.sol 。
这将输出合约的abi和字节码。Done! 。
。
平安夜快乐! 。
最后此篇关于在openEulerRISC-V上无痛部署Solidity的文章就讲到这里了,如果你想了解更多关于在openEulerRISC-V上无痛部署Solidity的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我是一名优秀的程序员,十分优秀!