当前位置:   article > 正文

Go项目中将Solidity合约部署到区块链_go 部署solidity合约

go 部署solidity合约

1: 开发Solidity自能合约

        可以选择remix上或者其他地方,开发好并且初步调试好自能合约  

2:准备 go 项目环境

        将代码导入到go 项目

        如果有导入外部合约,则需要准备npm来管理,这些包如果没有导入外部合约 请忽略

        2.1  初始化Node.js项目(并且导入外部合约)

                (1)npm init -y        

                (2)npm install @openzeppelin/contracts @chainlink/contracts

    

3. 编译Solidity合约

使用solc编译器编译你的Solidity合约。确保你已经在系统上安装了solc

  1. 安装Solidity编译器(如果尚未安装):

    npm install -g solc 
  2. 编译合约

    在项目根目录下,运行以下命令编译合约:

    solc --abi --bin contracts/NFT721Token.sol -o build/nft721 
    • --abi:生成合约的ABI文件。
    • --bin:生成合约的字节码文件。
    • -o build:指定输出目录为build文件夹。
    • 如果编译报错 {}
    • 是因为没指定有可能  node_modules/ 目录编译的时候在不到  node_modules 可以修改编译命令 
    • solc --base-path . --include-path node_modules/ --abi --bin contracts/NFTMarketplace/AuthorizedContract.sol -o build/AuthorizedContract

     4. 生成Go绑定代码                   

                检查是否已经安装好工具  

                       终端输入 abigen --version

                如果没有安装好 则需要 安装

                安装步骤

                        1. 终端输入 go get -u github.com/ethereum/go-ethereum  导入包

调转到包所在的文件夹

在终端进入文件

cd /*******/pkg/mod/github.com/ethereum/go-ethereum@v1.14.7

编译项目 go-ethereum@$ sudo make && make devtools

编译完成后,abigen工具会被放置在你的Go工作区的bin目录中。

运行以下命令,指定ABI和BIN文件的路径,并输出到一个新的Go文件中:

 

使用abigen生成Go绑定代码

假设你已经在build/NFT721目录中拥有NFT721Token.abiNFT721Token.bin文件,使用abigen命令来生成Go绑定代码:

  1. 运行abigen命令

    运行以下命令,指定ABI和BIN文件的路径,并输出到一个新的Go文件中:

    abigen --bin=build/NFT721/NFT721Token.bin --abi=build/NFT721/NFT721Token.abi --pkg=nft721token --out=nft721token.go

    参数说明:

    • --bin=build/NFT721/NFT721Token.bin:指定合约的字节码文件。
    • --abi=build/NFT721/NFT721Token.abi:指定合约的ABI文件。
    • --pkg=nft721token:指定生成的Go代码所属的包名。
    • --out=nft721token.go:指定生成的Go文件名。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/爱喝兽奶帝天荒/article/detail/1013339
推荐阅读
相关标签
  

闽ICP备14008679号