当前位置:   article > 正文

MacOS 安装 solidity_macos solc

macos solc
  1. 安装node

brew install node

  1. 安装solc,solc-cli

  1. npm install -g solc
  2. npm install -g solc-cli

  1. 安装solidity

  1. brew tap ethereum/ethereum
  2. brew install solidity
  3. brew link --overwrite solidity

  1. 写一个简单的合约并保存为demo.sol

  1. // SPDX-License-Identifier: MIT
  2. pragma solidity ^0.8.9;
  3. contract MyContract {
  4. uint256 public myNumber; // 状态变量
  5. modifier onlyOwner() { // 修改器
  6. require(msg.sender == owner, "Only owner can call this function.");
  7. _;
  8. }
  9. address public owner; // 状态变量
  10. constructor() { // 构造函数
  11. owner = msg.sender;
  12. myNumber = 42;
  13. }
  14. function setNumber(uint256 _number) public onlyOwner { // 设置状态变量值的函数
  15. myNumber = _number;
  16. }
  17. }

  1. 生成abi文件

solc --abi demo.sol -o build/
  1. [
  2. {
  3. "inputs": [
  4. ],
  5. "stateMutability": "nonpayable",
  6. "type": "constructor"
  7. },
  8. {
  9. "inputs": [
  10. ],
  11. "name": "myNumber",
  12. "outputs": [
  13. {
  14. "internalType": "uint256",
  15. "name": "",
  16. "type": "uint256"
  17. }
  18. ],
  19. "stateMutability": "view",
  20. "type": "function"
  21. },
  22. {
  23. "inputs": [
  24. ],
  25. "name": "owner",
  26. "outputs": [
  27. {
  28. "internalType": "address",
  29. "name": "",
  30. "type": "address"
  31. }
  32. ],
  33. "stateMutability": "view",
  34. "type": "function"
  35. },
  36. {
  37. "inputs": [
  38. {
  39. "internalType": "uint256",
  40. "name": "_number",
  41. "type": "uint256"
  42. }
  43. ],
  44. "name": "setNumber",
  45. "outputs": [
  46. ],
  47. "stateMutability": "nonpayable",
  48. "type": "function"
  49. }
  50. ]
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/55820
推荐阅读
相关标签
  

闽ICP备14008679号