
49万USDT钱包资产被转走之到底是不是朋友干的?
话题背景wu351256@discord 有谁知道我的代币为什么会在我不知情的情况下下被转走,我查记录上面说是触发了什么智能合约。我是新手有大神带我理解一下嘛? 如果是触发了什么智能合约怎么找到这个合约并且解除合约进入正题@bmlcwenwu 是不是点了什么钓鱼链接?赶快去解除授权 @42069Imtoken里边有教程,先解除授权 @夜与昼 这种币被盗了,报警说不立案,imtoken客服说报警,投诉无门,欲哭无泪 @42069 国内加密货币属于非法,警察不立案。 @夜与昼 对啊,国内,我被盗了49万usdt夜与昼 @42069 这么多U,没想到用冷钱包吗 @夜与昼 我最后一次转账用我朋友的id下载的app,现在就是不知道会不会是他盗的 @42069 什么app? @夜与昼 Imtoken钱包 @42069 不是假的吧 @夜与昼 用他的id后,商城里下载的,登录进去给他转了一笔钱,一个星期后钱包被盗 @42069 登录之后退出id了吗?只是商城登录id没事 夜与昼登录后退出了,登录的时候还双重认证了, *[2:39 PM]*Icloud就会自动登陆 *[2:39 PM]*Iclou...
Etherscan事务交易详细分类
TransferERC21https://cn.etherscan.com/tx/0xc261caa5556785d46fbf5f715f4e5686288304a5a510d34336d763b060dc37b6Swap案例1: https://cn.etherscan.com/tx/0xf09f3b3dcd29552dac6fd14040bb457f3f462ab497dd4a885fcf1bcc026f10ff https://cn.etherscan.com/tx/0x23fdb4a895877af5d2091d541d05f6ae874267c8d82e73bb7f186d8839781c92ApproveERC20ERC721ERC1159https://cn.etherscan.com/tx/0x00ff492f7c93e50b47c1c341d935e5d5cac201455d7d7f8a491fd5f0a7d93746MintERC721MethodID: 0xa0712d68Function: mint(uint256 _mintAmount) MethodI...

以太坊签名验签原理揭秘
签名三大作用讨论密码学中的签名时,我们其实是在讨论所有权、有效性和完整性证明。举例来说,这些签名可以用来:证明你拥有地址的私钥(即认证功能);确保信息(例如,邮件)没有被篡改;验证你下载的 文件是合法有效的。签名基础原理:基于数学公式输入:一个输入消息、一个私钥和一个(通常情况下是秘密的)随机数,就可以得到一串数字作为输出值,也就是签名。 输出:使用另一个数学公式可以进行反向计算,在不知道私钥和随机数的情况下进行验证(译者注:即验证该签名是否出自跟某个公钥对应的私钥)。 这类算法有很多,如 RSA 和 AES,但是以太坊(和比特币)采用的都是椭圆曲线数字签名算法(ECDSA)。请注意,ECDSA 只是签名算法。与 RSA 和 AES 不同,这种算法不能用于加密。以太坊采用的是 secp256k1曲线。 签名方案由哈希算法和签名算法组成。以太坊选择的签名算法是secp256k1,哈希算法选择了keccak256,这是一个从字节串。不可逆计算通过椭圆曲线点乘算法(elliptic curve point manipulation),我们可以使用私钥计算出一个不可逆向计算的值(译者注:...
The infinite past has the present as its destination, and the infinite future has the present as its origin.

49万USDT钱包资产被转走之到底是不是朋友干的?
话题背景wu351256@discord 有谁知道我的代币为什么会在我不知情的情况下下被转走,我查记录上面说是触发了什么智能合约。我是新手有大神带我理解一下嘛? 如果是触发了什么智能合约怎么找到这个合约并且解除合约进入正题@bmlcwenwu 是不是点了什么钓鱼链接?赶快去解除授权 @42069Imtoken里边有教程,先解除授权 @夜与昼 这种币被盗了,报警说不立案,imtoken客服说报警,投诉无门,欲哭无泪 @42069 国内加密货币属于非法,警察不立案。 @夜与昼 对啊,国内,我被盗了49万usdt夜与昼 @42069 这么多U,没想到用冷钱包吗 @夜与昼 我最后一次转账用我朋友的id下载的app,现在就是不知道会不会是他盗的 @42069 什么app? @夜与昼 Imtoken钱包 @42069 不是假的吧 @夜与昼 用他的id后,商城里下载的,登录进去给他转了一笔钱,一个星期后钱包被盗 @42069 登录之后退出id了吗?只是商城登录id没事 夜与昼登录后退出了,登录的时候还双重认证了, *[2:39 PM]*Icloud就会自动登陆 *[2:39 PM]*Iclou...
Etherscan事务交易详细分类
TransferERC21https://cn.etherscan.com/tx/0xc261caa5556785d46fbf5f715f4e5686288304a5a510d34336d763b060dc37b6Swap案例1: https://cn.etherscan.com/tx/0xf09f3b3dcd29552dac6fd14040bb457f3f462ab497dd4a885fcf1bcc026f10ff https://cn.etherscan.com/tx/0x23fdb4a895877af5d2091d541d05f6ae874267c8d82e73bb7f186d8839781c92ApproveERC20ERC721ERC1159https://cn.etherscan.com/tx/0x00ff492f7c93e50b47c1c341d935e5d5cac201455d7d7f8a491fd5f0a7d93746MintERC721MethodID: 0xa0712d68Function: mint(uint256 _mintAmount) MethodI...

以太坊签名验签原理揭秘
签名三大作用讨论密码学中的签名时,我们其实是在讨论所有权、有效性和完整性证明。举例来说,这些签名可以用来:证明你拥有地址的私钥(即认证功能);确保信息(例如,邮件)没有被篡改;验证你下载的 文件是合法有效的。签名基础原理:基于数学公式输入:一个输入消息、一个私钥和一个(通常情况下是秘密的)随机数,就可以得到一串数字作为输出值,也就是签名。 输出:使用另一个数学公式可以进行反向计算,在不知道私钥和随机数的情况下进行验证(译者注:即验证该签名是否出自跟某个公钥对应的私钥)。 这类算法有很多,如 RSA 和 AES,但是以太坊(和比特币)采用的都是椭圆曲线数字签名算法(ECDSA)。请注意,ECDSA 只是签名算法。与 RSA 和 AES 不同,这种算法不能用于加密。以太坊采用的是 secp256k1曲线。 签名方案由哈希算法和签名算法组成。以太坊选择的签名算法是secp256k1,哈希算法选择了keccak256,这是一个从字节串。不可逆计算通过椭圆曲线点乘算法(elliptic curve point manipulation),我们可以使用私钥计算出一个不可逆向计算的值(译者注:...
The infinite past has the present as its destination, and the infinite future has the present as its origin.
Share Dialog
Share Dialog

Subscribe to Renaissance Labs

Subscribe to Renaissance Labs
<100 subscribers
<100 subscribers

与在C和C ++中一样,结构体允许你定义自己的类型
定义结构体后,就可以开始将其用作状态变量或在函数中使用。
struct Donation {
uint256 value;
uint256 date;
}
为了初始化一个结构体,我们有两种方法:
使用位置参数:
Donation donation = Donation(
msg.value,
block.timestamp
);
使用关键字:
Donation donation = Donation({
value : msg.value,
date: block.timestamp
});
第二种方法将避免我们必须记住结构体成员的顺序,因此它可能比第一种有用。
使用点访问结构体的成员:
uint256 donationDate = myDonation.date;
虽然结构体本身可以是映射成员的值类型,也可以在动态大小的数组里使用,但是结构体不能包含其自身类型的成员。这个限制是必要的,因为结构体的大小必须是有限的。 — Solidity文档

与在C和C ++中一样,结构体允许你定义自己的类型
定义结构体后,就可以开始将其用作状态变量或在函数中使用。
struct Donation {
uint256 value;
uint256 date;
}
为了初始化一个结构体,我们有两种方法:
使用位置参数:
Donation donation = Donation(
msg.value,
block.timestamp
);
使用关键字:
Donation donation = Donation({
value : msg.value,
date: block.timestamp
});
第二种方法将避免我们必须记住结构体成员的顺序,因此它可能比第一种有用。
使用点访问结构体的成员:
uint256 donationDate = myDonation.date;
虽然结构体本身可以是映射成员的值类型,也可以在动态大小的数组里使用,但是结构体不能包含其自身类型的成员。这个限制是必要的,因为结构体的大小必须是有限的。 — Solidity文档
你可以将映射视为大量的键/值存储,其中每个可能的键都存在,并且可以使用该键来设置或检索任何值。
映射声明如下:
mapping( KeyType => ValueType) VariableName
KeyType可以是任何内置值类型、字节或字符串中看到的值、也可以是任何合约或枚举类型。ValueType可以是任何类型,包括映射,数组和结构体。
这里要提到的一件事是,映射变量唯一允许的数据位置是storage,它只能声明为状态变量、存储指针或库函数的参数。
枚举允许你将自定义类型下的相关值分组,如以下示例所示:
enum Color { green , blue, red }
使用以下语法可以访问enum值:
Color defaultColor = Color.green;
注意:枚举也可以在文件级别上声明,而不是在合约或库定义中。
状态变量可以声明为constant或immutable。在这两种情况下,构造合约后都无法修改变量。对于constant,该值必须在编译时确定,而对于immutable,则是在构造时赋值。
编译器不会为这些变量保留一个存储槽,而是在每次出现时会由相应的值替换。
常量使用关键字constant声明:
uint256 constant maxParticipants = 10;
对于不可变状态变量,使用关键字immutable声明它们:
contract Cook {
address immutable owner = msg.sender;
uint256 immutable maxBalance;
constructor(uint256 _maxBalance){
maxBalance = _maxbalance;
}
}
你可以在文档的本部分中找到有关常量和不可变状态变量的更多详细信息。
注意:也可以在文件级别定义constant变量。
你可以将映射视为大量的键/值存储,其中每个可能的键都存在,并且可以使用该键来设置或检索任何值。
映射声明如下:
mapping( KeyType => ValueType) VariableName
KeyType可以是任何内置值类型、字节或字符串中看到的值、也可以是任何合约或枚举类型。ValueType可以是任何类型,包括映射,数组和结构体。
这里要提到的一件事是,映射变量唯一允许的数据位置是storage,它只能声明为状态变量、存储指针或库函数的参数。
枚举允许你将自定义类型下的相关值分组,如以下示例所示:
enum Color { green , blue, red }
使用以下语法可以访问enum值:
Color defaultColor = Color.green;
注意:枚举也可以在文件级别上声明,而不是在合约或库定义中。
状态变量可以声明为constant或immutable。在这两种情况下,构造合约后都无法修改变量。对于constant,该值必须在编译时确定,而对于immutable,则是在构造时赋值。
编译器不会为这些变量保留一个存储槽,而是在每次出现时会由相应的值替换。
常量使用关键字constant声明:
uint256 constant maxParticipants = 10;
对于不可变状态变量,使用关键字immutable声明它们:
contract Cook {
address immutable owner = msg.sender;
uint256 immutable maxBalance;
constructor(uint256 _maxBalance){
maxBalance = _maxbalance;
}
}
你可以在文档的本部分中找到有关常量和不可变状态变量的更多详细信息。
注意:也可以在文件级别定义constant变量。
No activity yet