首页 > 其他分享 >ganache搭建私有测试节点

ganache搭建私有测试节点

时间:2024-02-02 16:00:49浏览次数:28  
标签:nil err 私有 ganache -- TriplecMedalV3 go panic 节点

1.Ganche 简介

1.1.什么是 Ganache

Ganache 是DApp的测试网络,提供图形化界面,log日志等;智能合约部署时需要连接测试网络。

Ganache 是一个运行在本地测试的网络,通过结合cpolar内网穿透软件,即可比较简单实现远程或者不同局域网进行连接访问,下面简单概括设置和连接方法

1.2.环境要求和安装

进入官网:https://trufflesuite.com/ganache/,我们下载对应的电脑系统的版本,下载安装包后,直接安装即可 

安装完成后,我们打开Ganache,即可看到默认为我们生成了许多测试的地址,这些地址都是虚假的,在顶部,我们可以看到RPC服务本地连接地址,端口为:7545 

1.3.Truffle 部署

修改truffle-config.js:

部署合约: truffle migrate --network dev

 

   Deploying 'TriplecMedal'

   ------------------------

   > transaction hash:    0x54722fd58a4e4d0f2c1c768da8f1307f757f80c99e73374a5d8c7912713c6f4a

   > Blocks: 0            Seconds: 0

   > contract address:    0xE7C12f2ab7CEAED9E173943180E0e0EfDF6Bc5d4

   > block number:        1

   > block timestamp:     1706779598

   > account:             0x5fA043293aAB29EC4bd3F40623fAF06E501d160c

   > balance:             99.9845385175

   > gas used:            4581180 (0x45e73c)

   > gas price:           3.375 gwei

   > value sent:          0 ETH

   > total cost:          0.0154614825 ETH

1.4.Ganache查看部署的合约 

1.5. 使用abigen生成go代码

生成完整合约代码:

truffle-flattener ./contracts/medal/TriplecMedalV3.sol --output ./deployment/TriplecMedalV3.full.sol 

生成abi文件

solc --abi --bin -o ../build --overwrite  TriplecMedalV3.full.sol

生成go代码

abigen --bin=../build/TriplecMedalV3.bin --abi=../build/TriplecMedalV3.abi --pkg=TriplecMedalV3 --out=../script/TriplecMedalV3/TriplecMedalV3.go

1.6. 使用go代码进行合约测试

 

package main

import (

    "fmt"

    "script/TriplecMedalV3"

    "testing"
    
    "github.com/ethereum/go-ethereum/common"

    "github.com/ethereum/go-ethereum/crypto"

    "github.com/ethereum/go-ethereum/ethclient"

)

func TestInitialize(t *testing.T) {

    client, err := ethclient.Dial(config.ServerAddress)

    if err != nil {

        panic(err)

    }

    privateKey, err := crypto.HexToECDSA(config.OwnerPrivateKey)

    if err != nil {

        panic(err)

    }

    auth, err := Author(privateKey, client, 500000, 0, 0)

    if err != nil {

        panic(err)

    }

    medal, err := TriplecMedalV3.NewTriplecMedalV3(common.HexToAddress(config.ContractAddress), client)

    if err != nil {

        panic(err)

    }

    tx, err := medal.Initialize(auth, common.HexToAddress(config.OwnerPublicKey))

    if err != nil {

        panic("error")

    }

    if tx == nil {

        panic("error")

    }

    hash := tx.Hash().Hex()

    fmt.Printf("setsigner 的hash:%v", hash)

}

标签:nil,err,私有,ganache,--,TriplecMedalV3,go,panic,节点
From: https://www.cnblogs.com/zhanchenjin/p/18003314

相关文章

  • 动力节点最新RocketMQ基本操作-01
    动力节点最新RocketMQ基本操作1. RocketMQ简介MQ====MessageQueue编程中的 同步:排队一个一个走;一个动作做完以后,才能进行下一个异步:各走各的;两个动作可以同时做;官网:  http://rocketmq.apache.org/ RocketMQ是阿里巴巴2016年MQ中间件,使用Java语言开发,RocketMQ 是......
  • Docker搭建私有仓库、查看私有仓库镜像
    Docker搭建私有仓库、查看私有仓库镜像:https://blog.csdn.net/weixin_42551369/article/details/88946361?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522170684269116777224444425%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=17068......
  • 单节点多集群流量转发方法
    引言在实验环境(裸机)中部署多个有雀CRC集群(CRC介绍请看 容器云平台本地集群UCCPSCRC介绍),导致集群间抢占宿主机80、443端口情况,本文用外部负载均衡方案解决端口冲突问题。当然本方法也对裸机搭建的Kubernete的Ingress或者gatewayAPI也有效。本方案适用于根据域名转发流量的......
  • 代码随想录算法训练营第四天 |24. 两两交换链表中的节点 | 19.删除链表的倒数第N个节
    142.环形链表II 已解答中等 相关标签相关企业 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。为了表示给定链表中的环,......
  • 节点与链表
    classListNode:def__init__(self,val=0,next=None):self.val=valself.next=nextclassSingleLinkList:def__init__(self,node=None):self.__head=nodedefis_empty(self):'''判断列表是否为空'&#......
  • K8s 部署 Baget (私有Nuget服务器)
    1.Baget介绍BaGet是一个构建于ASP.NETCore基础上的NuGetV3服务器的开源实现。2.有哪些Nuget服务器搭建方案NuGet.Server(Windows平台)、ProGet、MyGet3.编写yaml文件3.1deploymentapiVersion:apps/v1kind:Deploymentmetadata:name:bagetnamespace:de......
  • 动力节点RabbitMQ教程|12小时学会rabbitmq消息中间件-02
    RabbitMQ集群cluster与高可用RabbitMQ的集群分两种模式,一种是默认集群模式,一种是镜像集群模式;在RabbitMQ集群中所有的节点(一个节点就是一个RabbitMQ的broker服务器)被归为两类:一类是磁盘节点,一类是内存节点;磁盘节点会把集群的所有信息(比如交换机、绑定、队列等信息)持久化......
  • 在K8S中,flannel能固定节点IP和Pod的IP地址吗?
    Flannel作为一个Kubernetes集群的网络插件,其设计目标之一是为Pod分配固定的IP地址,并确保不同节点上的PodIP地址不会冲突。具体来说:PodIP固定:Flannel在每个节点上预分配一个子网供Pod使用,当创建新Pod时,Flannel会从该节点的子网中分配一个唯一的IP地址给Pod,从而确保Pod在整个生......
  • 基于volcano实现节点真实负载感知调度
    本文分享自华为云社区《基于volcano实现节点真实负载感知调度》,作者:可以交个朋友。背景默认调度器调度器视某个节点的空闲可调度资源=节点可分配资源-SUM(节点上已调度Pod们的request),当某个Pod处于pending状态待调度时,默认调度器根据Pod中指定的request值和各个节点的空闲......
  • 记一次MySQL从节点服务器宕机重启后,从节点出现主键冲突异常的处理
    环境MySQL5.7非GTID模式多线程复制。现象某MySQL数据库从节点因故障宕机(因故障直接宕机,非正常关闭),重启之后发现复制状态异常,showslave的结果中Slave_SQL_Running为No,错误代码为1062errorcode,从系统表performance_schema.replication_applier_status_by_worker以及errorl......