在openEuler RISC-V上无痛摆设Solidity

打印 上一主题 下一主题

主题 863|帖子 863|积分 2589

  近几年区块链很火,随着各国政府对加密技术的监管政策不停变革和BTC的暴涨,越来越多人对这项去中心化的技术充满着期待。这次我用openEuler 24.09 RISC-V的远程机器尝试编译了Solidity项目,发现过程比较顺畅,于是记载下来,后面有机会我也多多探讨区块链在RISC-V的大概性。
 
  1. git clone git@github.com:ethereum/solidity.git
复制代码
  先是把Solidity的源码项目克隆了下来,由于项目比较庞大,用https拉的过程中总是会出现错误,我改成了ssh,第一步done!
 
  由于项目里面包含了好几个submodule,我在拉取submodule的过程中也失败了,然后尝试手动克隆(方法同上)后成功。

  这是.gitmodules文件,里面包含了需要拉取的子模块,同时"deps/xxx"就是项目所存放的目录,只需要手动将项目拉到"deps"目录就行。
 
  接下来就是编译,不过也遇到了编译失败的问题,编译命令比较简朴,参照文档如下:
  1. mkdir build
  2. cd build
  3. cmake .. && make
复制代码

  很明显这是一个跟浮点数转换有关的编译错误,面对这种情况,只需要在Cmake里面加上一个选项。
  1. cmake -DCMAKE_CXX_FLAGS="-Werror=float-conversion" ..
复制代码

  Done!
  编译就暂时先跳过了,试试写一个Solidity的demo。
 
  1. // SPDX-License-Identifier: MIT
  2. pragma solidity ^0.8.0;
  3. contract HelloWorld {
  4.     string private message;
  5.     constructor() {
  6.         message = "Hello, World!";
  7.     }
  8.     function getMessage() public view returns (string memory) {
  9.         return message;
  10.     }
  11. }
复制代码
  运行./solc --bin --abi xxx.sol

  这将输出合约的abi和字节码。Done!
  
  安全夜快乐!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

我可以不吃啊

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表