We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
使用fisco-bcos版本:3.0.2 在go.mod中设置了replace github.com/FISCO-BCOS/go-sdk => ../go-sdk 调用hello合约,合约代码如下:
replace github.com/FISCO-BCOS/go-sdk => ../go-sdk
pragma solidity ^0.8.10; contract hello{ string name; event onset(string newname); constructor() public{ name = "Hello, World!"; } function get() view public returns(string memory){ return name; } function set(string memory n) public{ emit onset(n); name = n; } }
下面是通过go调用hello的代码:
package main import ( "context" "encoding/hex" "log" "strings" "github.com/FISCO-BCOS/go-sdk/abi/bind" "github.com/FISCO-BCOS/go-sdk/client" "github.com/ethereum/go-ethereum/common" ) var bcosClient *client.Client var chainID string /* [{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"newname","type":"string"}],"name":"onset","type":"event"},{"inputs":[],"name":"get","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"n","type":"string"}],"name":"set","outputs":[],"stateMutability":"nonpayable","type":"function"}] abigen-0.8.11 -abi hello.abi -type hello -pkg main -out hello.go */ var keystr = `{"address":"6ada94d442e7a07d0a2e117f3d179516d836af44","crypto":{"cipher":"aes-128-ctr","ciphertext":"6757baea66cdf5930bf6b6036856aeba2865fb901d6b9eb0bd80708b6321ddfb","cipherparams":{"iv":"ec187901b3c382349fbe4b107d20cf24"},"kdf":"scrypt","kdfparams":{"dklen":32,"n":4096,"p":6,"r":8,"salt":"d843d31a08f7b85dfdc46ca4283ae5ae6dc4c0a4632ee4d088c6cf6b42d211f9"},"mac":"23510f127694f3da17155a52845f54680b93efa92c1383f65957d10d1de4c78a"},"id":"39b43455-831e-4f92-ad9d-4527f819478d","version":3}` func init() { //key:145e247e170ba3afd6ae97e88f00dbc976c2345d511b0f6713355d19d8b80b58 privateKey, _ := hex.DecodeString("145e247e170ba3afd6ae97e88f00dbc976c2345d511b0f6713355d19d8b80b58") config := &client.Config{ IsSMCrypto: false, GroupID: "group0", PrivateKey: privateKey, Host: "192.168.137.148", Port: 20200, TLSCaFile: "sdk/ca.crt", TLSKeyFile: "sdk/sdk.key", TLSCertFile: "sdk/sdk.crt"} cli, err := client.DialContext(context.Background(), config) if err != nil { log.Fatal(err) } bcosClient = cli chainID, _ = cli.GetChainID(context.Background()) } func main() { contract_addr := "0xa6cdc4fed96bbf8c9c013cc19200b3c8ba95c93e" instance, err := NewHello(common.HexToAddress(contract_addr), bcosClient) if err != nil { log.Fatal("failed to NewHello ", err) } keyio := strings.NewReader(keystr) auth, err := bind.NewTransactor(keyio, "223") if err != nil { log.Panic("failed to NewTransactor:", err) } _, rtx, err := instance.Set(auth, "hello,yekai!") log.Printf("%+v\n", rtx) }
打印的交易回执信息:
2023/06/16 15:12:52 { "blockNumber": 25, "contractAddress": "", "from": "0xfbb18d54e9ee57529cda8c7c52242efe879f064f", "gasUsed": "15580", "hash": "0x0ab22ddce6a702be0d40b4c002c4dd48705a894d6ce218d99107d06981713a2c", "input": "", "logEntries": [ { "blockNumber": "", "address": "a6cdc4fed96bbf8c9c013cc19200b3c8ba95c93e", "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000c68656c6c6f2c79656b6169210000000000000000000000000000000000000000", "topics": [ "0xafb180742c1292ea5d67c4f6d51283ecb11e49f8389f4539bef82135d689e118" ] } ], "message": "", "output": "0x", "status": 0, "to": "0xa6cdc4fed96bbf8c9c013cc19200b3c8ba95c93e", "transactionHash": "0x9fe099a71cc76edda55f44d9d45e68c4ef5059ccd94396df08d740e7adaf6399", "txReceiptProof": null, "version": 0 }
发现即使设置了set函数的opts,仍然使用client配置的私钥账户,也就是说预期from是0x6ada94d442e7a07d0a2e117f3d179516d836af44,结果每次都是0xfbb18d54e9ee57529cda8c7c52242efe879f064f
The text was updated successfully, but these errors were encountered:
3.0版本逻辑不同,创建client的时候,会把私钥传给c-sdk,目前在client的生命周期内不支持更改私钥
Sorry, something went wrong.
No branches or pull requests
使用fisco-bcos版本:3.0.2
在go.mod中设置了
replace github.com/FISCO-BCOS/go-sdk => ../go-sdk
调用hello合约,合约代码如下:
下面是通过go调用hello的代码:
打印的交易回执信息:
发现即使设置了set函数的opts,仍然使用client配置的私钥账户,也就是说预期from是0x6ada94d442e7a07d0a2e117f3d179516d836af44,结果每次都是0xfbb18d54e9ee57529cda8c7c52242efe879f064f
The text was updated successfully, but these errors were encountered: