首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏全栈程序员必看

    “xxxxxxxxx”signer information does not match signer information of other classes in the same package

    在发起请求时抛出异常信息”xxxxxxxxx”signer information does not match signer information of other classes in the same

    1.8K10编辑于 2022-09-23
  • 来自专栏深入浅出区块链技术

    3.MOVE从入门到实战-可编程Resource-发送者和签署者

    发送者作为 Signer 在开始使用 Resource 之前,我们需要了解 signer 类型以及这种类型存在的原因。 脚本的 Signer Signer 是原生类型,使用前必须先创建。 当前,约定俗成的 signer 类型的变量名是 account 标准库中的 Signer 模块 原生类型离不开原生方法, signer 的原生方法包含在0x1::Signer模块中。 这个模块相对比较简单,具体可以参考 Diem 标准库 [3]Signer 模块的实现: module Std::Signer { // Borrows the address of the signer (&account); } } 模块中的 Signer module M { use 0x1::Signer; // let's proxy Signer::address_of

    39320编辑于 2022-11-07
  • 来自专栏信数据得永生

    django 1.8 官方文档翻译:8-5 加密签名

    首先创建一个 Signer 的实例来对一个值签名: >>> from django.core.signing import Signer >>> signer = Signer() >>> value 你可以通过向Signer构造器传递一个不同的密钥来使用它: >>> signer = Signer('my-other-secret') >>> value = signer.sign('My string 使用salt参数会同时用它和SECRET_KEY初始化签名哈希函数: >>> signer = Signer() >>> signer.sign('My string') 'My string:GdMGD6HNQ_qdgxYP8yBZAdAIV1w ' >>> signer = Signer(salt='extra') >>> signer.sign('My string') 'My string:Ee7vGi-ING6n02gkcJ-QLHg6vFw ' >>> signer.unsign(value) 'hello' >>> signer.unsign(value, max_age=10) ...

    82120编辑于 2022-11-27
  • 来自专栏dapp系统开发

    如何制作dapp丨lp丨defi丨nft丨ido预售代币合约流动性挖矿分红系统开发程序及原理

    module MyAddr::MyLibrary {   use StarcoinFramework::Signer;   use StarcoinFramework::Vector;   // each , id:u64) acquires  Library {      Self::deleteBookAtId(&account,id)   }}5.1 move_to 函数还记得 signer 吗? 要将资源移动到帐户,您有内置函数 move_to,它将signer作为第一个参数,Collection作为第二个参数。 move_to 函数的签名可以表示为:native fun move_to<T: key>(account: &signer, value: T);这导致两个结论:您只能将资源放在您的帐户下。 您无法访问另一个帐户的 signer value,因此无法将资源放在那里。一个地址下只能存储一种单一类型的资源。

    56820编辑于 2022-08-04
  • 来自专栏深入浅出区块链技术

    5.MOVE从入门到实战-发布新模块

    本文作者:木头[1] 新建模块 // sources/Test.move module 0x2::Test { use std::signer; struct Resource has key { i: u64 } public fun publish(account: &signer) { move_to(account, Resource { i: 10 <Resource>(signer::address_of(account)).i = i; } public fun unpublish(account: &signer) acquires : MoveLoc[0](Arg0: &signer "0") 1: Call[3](address_of(&signer "3"): address) 2: MoveFrom 0: MoveLoc[0](account: &signer "0") 1: Call[3](address_of(&signer "3"): address) 2: MoveFrom

    50520编辑于 2022-11-07
  • 来自专栏dapp系统开发

    关于NFT丨DAPP丨LP丨IDO预售代币合约流动性挖矿分红系统开发应用分析及代码

    use StarcoinFramework::Signer,是使用标准库下的Signer module,Signer 是一种原生的类似 Resource 的不可复制的类型,它包含了交易发送者的地址。 引入signer类型的原因之一是要明确显示哪些函数需要发送者权限,哪些不需要。因此,函数不能欺骗用户未经授权访问其 Resource。具体可参考源码。 : &signer) acquires Counter {    let counter = borrow_global_mut<Counter>(Signer::address_of(account) init方法参数是一个&signer,意味着该方法必须是一个账户合法签名过后才可以调用,move_to则是move的一个原语,作用是发布、添加Counter资源到 signer 的地址下。 下面是列举的常用原语move_to< T >(&signer, T):发布、添加类型为 T 的资源到 signer 的地址下。

    65250编辑于 2022-08-04
  • 来自专栏Ethereum

    《纸上谈兵·solidity》第 48 课:DeFi 实战(12) -- 前端 DApp 集成与用户交互(React + ethers.js 实战)

    2、架构概览与设计要点推荐架构(前端单页 / React):Provider 层(ethers Provider / Signer)Read-only provider(RPC)用于链上数据读取Signer Signer:代表用户签名交易(window.ethereum.getSigner())。 = provider.getSigner(); setSigner(_signer); const addr = await _signer.getAddress( = provider.getSigner(); setSigner(_signer); const addr = await _signer.getAddress(); signer || !

    44221编辑于 2025-11-09
  • 小试牛刀-Wormhole(虫洞)跨链

    export interface SignerStuff<N extends Network, C extends Chain> { chain: ChainContext<N, C>; signer : Signer<N, C>; address: ChainAddress<C>; } // Function to fetch environment variables (like your : Signer<N, C>; address: ChainAddress<C>; }> { let signer: Signer; const platform = chain.platform.utils ).getSigner(await chain.getRpc(), getEnv("SOL_PRIVATE_KEY")); break; case "Evm": signer : signer as Signer<N, C>, address: Wormhole.chainAddress(chain.chain, signer.address()), }; }

    44400编辑于 2025-07-22
  • 来自专栏深入浅出区块链技术

    6.MOVE从入门到实战-简单的ERC20

    must be called before /// minting or transferring to the account. public fun init_account(account: &signer Mint must be approved by the module owner. public fun mint(module_owner: &signer, mint_addr: address, /move-stdlib" } 代币基础模块 /// sources/MyCoin.move module MyCoinAddr::MyCoin{ use std::signer; public fun mint(module_owner: &signer, mint_addr: address, amount: u64) acquires Balance { // Only ; use std::debug; fun main(account: signer, mint_addr: signer) { //Initialize account

    59630编辑于 2022-11-07
  • 来自专栏深入浅出区块链技术

    4.MOVE从入门到实战-可编程Resource-如何使用Resource

    items: vector::empty<Item>() }) } } 还记得 signer 吗? 移动 Resource 到 account 需要使用内建函数 move_to,需要 signer 作为第一个参数,T 作为第二个参数。 move_to 函数的签名可以表示为: native fun move_to<T: key>(account: &signer, value: T); 总结一下上面所学的内容: 你只能将 Resource 你无权访问另一个帐户的 signer 值,因此无法放置 Resource 到其它账户。 一个地址下最多只能存储一个同一类型的 Resource。 public fun size(account: &signer): u64 acquires Collection { let owner = signer::address_of(account

    74140编辑于 2022-11-07
  • 来自专栏私人订制

    thinkphp6 token令牌 生成详解

    php namespace tools\jwt; use Lcobucci\JWT\Builder; use Lcobucci\JWT\Parser; use Lcobucci\JWT\Signer\ Time: 13:02 */ class Token { public static function createToken($uid = null) { $signer ->expiresAt($time + 3600) //过期时间 ->with('uid', $uid) //用户id ->sign($signer $token->validate($data)){ return 0; } //验证签名 $signer = new Sha256 $token->verify($signer, 'my')){ return 0; } //验证通过,返回用户id return

    1.5K10编辑于 2023-05-11
  • 来自专栏蔻丁杂记

    C# RSA 加密,解密与签名,验证签名

    = SignerUtilities.GetSigner(hashAlgorithm); signer.Init(true, privateKeyParam);//参数为true验签,参数为false 加签 var dataByte = Encoding.GetEncoding(encoding).GetBytes(data); signer.BlockUpdate(dataByte, 0 , dataByte.Length); //return Encoding.GetEncoding(encoding).GetString(signer.GenerateSignature()); //签名结果 非Base64String return Convert.ToBase64String(signer.GenerateSignature());}#endregion #region = Encoding.GetEncoding(encoding).GetBytes(data); signer.BlockUpdate(dataByte, 0, dataByte.Length)

    1.1K10编辑于 2024-12-25
  • 来自专栏醒者呆

    以太坊挖矿源码:clique算法

    signer, signFn := c.signer, c.signFn c.lock.RUnlock() snap, err := c.snapshot(chain, number- common.Address, signFn SignerFn) { c.lock.Lock() defer c.lock.Unlock() c.signer = signer = nil { return common.Address{}, err } var signer common.Address copy(signer[:], sigcache.Add(hash, signer)//加入缓存 return signer, nil } crypto包的Ecrecover函数: func Ecrecover(hash, sig type Vote struct { Signer common.Address `json:"signer"` // 已授权的签名者(通过投票) Block uint64

    3.5K70发布于 2018-05-03
  • 来自专栏网络安全攻防

    以太坊共识算法

    (pubkey[1:])[12:]) sigcache.Add(hash, signer) return signer, nil } 构造引擎 new用于初始化一个共识引擎对象: // New made to modify the // list of authorizations. type Vote struct { Signer common.Address `json:"signer := range s.Signers { cpy.Signers[signer] = struct{}{} } for block, signer := range s.Recents [address] return (signer && ! snap.Votes { if vote.Signer == signer && vote.Address == header.Coinbase { // Uncast

    4.6K20发布于 2021-09-01
  • 来自专栏深入浅出区块链技术

    以太坊交易签名过程源码解析

    and private key func SignTx(tx *Transaction, s Signer, prv *ecdsa.PrivateKey) (*Transaction, error) ,signer签名方式,包括EIP155Signer,HomesteadSigner和FrontierSigner,其中HomesteadSigner继承FrontierSigner。 // go-ethereum/core/types/transaction_signing.go func (tx *Transaction) WithSignature(signer Signer, sig []byte) (*Transaction, error) { r, s, v, err := signer.SignatureValues(tx, sig) if err ! EIP155Signer的SignatureValues方法相比FrontierSigner的方法,区别是在计算V值上。

    1.7K40发布于 2020-07-09
  • 来自专栏山山仙人的专栏

    私有镜像仓库Harbor

    /cert_tmp/notary-signer-ca.key, cert file: . /cert_tmp/notary-signer.key, cert file: . /cert_tmp/notary-signer.crt Copying certs for notary signer Copying notary signer configuration file /cert_tmp/notary-signer.key, cert file: . /cert_tmp/notary-signer.crt Copying certs for notary signer Copying notary signer configuration file

    4.4K30发布于 2020-04-28
  • 来自专栏云端漫步

    harbor源码分析之配置文件生成脚本解析(三)

    │   │   ├── initial-notaryserver.sql │   │   └── initial-notarysigner.sql │   ├── notary-signer-ca.crt │   ├── notary-signer.crt │   ├── notary-signer.key │   ├── server-config.json │   ├ ── signer-config.json │   └── signer_env ├── registry │   ├── config.yml │   └── root.crt

    84010发布于 2018-10-18
  • 来自专栏FreeBuf

    ApplicationScanner:一款App等保的预检测工具

    using v4 scheme (APK Signature Scheme v4): false Verified for SourceStamp: false Number of signers: 1 Signer Signer #1 certificate SHA-1 digest: a579de8a6dbd5edb575823c5b86ace003df6dc40 Signer #1 certificate MD5 digest: 93a85244b2463b52f682de6972fc331b Signer #1 key algorithm: RSA Signer #1 key size (bits): 2048 Signer #1 public key SHA-256 digest: 9b1f3a1ac030576fb25b45d3f4a55025044c7de6bd2b1ebaa3ac89968ab06d2d Signer #1 public key SHA-1 digest: aa41abb46b7a14d386a13953c8a587e538f97096 Signer #1 public key MD5

    2.6K30发布于 2021-05-20
  • 来自专栏技术杂记

    BattlEye堆栈行走(1)

    INFORMATION SIZE if ( CryptMsgGetParam(msg_handle, CMSG_SIGNER_INFO_PARAM, 0, 0, &signer_info_size ) ) { signer_info = (CMSG_SIGNER_INFO *)malloc(signer_info_size); if ( signer_info ) { // QUERY SIGNER INFORMATION if ( CryptMsgGetParam(msg_handle, CMSG_SIGNER_INFO_PARAM, 0, signer_info, &signer_info_size) ) { qmemcpy(&issuer, &signer_info->Issuer, sizeof(issuer));

    81850发布于 2021-03-10
  • 来自专栏终有链响

    前端和Java验签以太坊钱包签名实现中心化登录

    import {ethers,providers} from 'ethers'; class WalletHolder{ provider:providers.Provider; signer :providers.JsonRpcSigner; accounts:Array<string>; constructor(_provider:providers.Provider,_signer :providers.JsonRpcSigner,_accounts:Array<string>) { this.provider = _provider; this.signer = _signer; this.accounts = _accounts; } } export default class WalletUtils{ public = await provider.getSigner(); console.log("Account:", await signer.getAddress());

    42510编辑于 2024-07-29
领券