Open shownb opened 6 years ago
从一个地址发送token到另一个地址有两种办法。tranfer()函数可以从信息发送者那里直接转一些token到另一个地址。记住,人们不会查验接收地址,因此确保接收者按预期的方式行动是发送者的责任。
第一步,一个token持有者给另一个地址(常常是一个智能合约)批准从本地转出一个最大特定数量的token,也就是所谓的配额(allowence)。Token持有者使用approve()来提供这些信息。
allowance()函数提供了允许从一个给定地址提取到另一个给定地址的token的数量。
ERC-20定义了在合约采取了相关行动的时候,两类事件是必须被触发的。第一类事件是Transfer(),就是放出从一个地址转移到另一个地址的token转移的细节。第二类事件是Approval(),就是放出从一个地址许可转移token到另一个地址的细节。这些可以被用来跟踪地址余额和配额的变更,而无需查询区块链。
approve 批准 同意 approve() 的操作是授权第三方(在这个例子中是服务合约)从发送者账户转移代币,然后通过 transferFrom() 函数来执行第三方的转移操作。
name 返回ERC20代币的名字,例如"My test token"。 symbol 返回代币的简称,例如:MTT,这个也是我们一般在代币交易所看到的名字。 decimals 返回token使用的小数点后几位。比如如果设置为3,就是支持0.001表示。 totalSupply 返回token的总供应量 balanceOf 返回某个地址(账户)的账户余额 transfer 从代币合约的调用者地址上转移 _value的数量token到的地址 _to,并且必须触发Transfer事件。 transferFrom 从地址 _from发送数量为 _value的token到地址 _to,必须触发Transfer事件。 transferFrom方法用于允许合同代理某人转移token。条件是from账户必须经过了approve。这个后面会举例说明。 approve 允许 _spender多次取回您的帐户,最高达 _value金额。 如果再次调用此函数,它将以 _value覆盖当前的余量。 allowance 返回 _spender仍然被允许从 _owner提取的金额。
Send erc20 tokens using the json-rpc api https://ethereum.stackexchange.com/questions/26625/send-erc20-tokens-using-the-json-rpc-api
========================= https://blog.sodroid.com/2017/11/05/用Golang实现以太坊代币转账/
以太坊go-ethereum签名部分源码解析
geth部分命令
/root/go-ethereum/build/bin/geth --fast --cache=2048 --maxpeers 1000 console 2 >> eth.log >eth.syncing >eth.account >net.peerCount
/root/go-ethereum/build/bin/geth --fast --cache=2048 --maxpeers 1000 --rpcapi eth,web3 --rpc console 2>> /dev/null
区块链导入/导出 以二进制格式导出区块链:
geth export <filename>
或者,如果要随时间备份部分链,可以指定第一个和最后一个块。例如,要备份第一个时代:
geth export <filename> 0 29999
请注意,在备份部分链时,文件将被附加而不是被截断。 导入二进制格式的区块链导出:
geth import <filename>
p2p聊天室 https://github.com/nkbai/go-ethereum-example/tree/master/p2pmessage
还有下载所有合约代码
有用的项目 https://github.com/hunterlong/tokenbalance 查看token余额的项目
token排名 https://blockspur.com/ethereum_contracts/transactions
how-to-get-every-contract-in-ethereum https://medium.com/@xeenych/how-to-get-every-contract-in-ethereum-c5b97f230e9
获取tokens所有持有人地址
You have to subscribe to all Transfer events and store the source and destination address. That will get you a list of all token holders. After that you can use balanceOf() to query the token balance of each account.
从一个地址发送token到另一个地址有两种办法。tranfer()函数可以从信息发送者那里直接转一些token到另一个地址。记住,人们不会查验接收地址,因此确保接收者按预期的方式行动是发送者的责任。
第一步,一个token持有者给另一个地址(常常是一个智能合约)批准从本地转出一个最大特定数量的token,也就是所谓的配额(allowence)。Token持有者使用approve()来提供这些信息。
allowance()函数提供了允许从一个给定地址提取到另一个给定地址的token的数量。
ERC-20定义了在合约采取了相关行动的时候,两类事件是必须被触发的。第一类事件是Transfer(),就是放出从一个地址转移到另一个地址的token转移的细节。第二类事件是Approval(),就是放出从一个地址许可转移token到另一个地址的细节。这些可以被用来跟踪地址余额和配额的变更,而无需查询区块链。
approve 批准 同意 approve() 的操作是授权第三方(在这个例子中是服务合约)从发送者账户转移代币,然后通过 transferFrom() 函数来执行第三方的转移操作。
Send erc20 tokens using the json-rpc api https://ethereum.stackexchange.com/questions/26625/send-erc20-tokens-using-the-json-rpc-api
========================= https://blog.sodroid.com/2017/11/05/用Golang实现以太坊代币转账/
以太坊go-ethereum签名部分源码解析
geth部分命令
区块链导入/导出 以二进制格式导出区块链:
或者,如果要随时间备份部分链,可以指定第一个和最后一个块。例如,要备份第一个时代:
请注意,在备份部分链时,文件将被附加而不是被截断。 导入二进制格式的区块链导出:
p2p聊天室 https://github.com/nkbai/go-ethereum-example/tree/master/p2pmessage
还有下载所有合约代码
有用的项目 https://github.com/hunterlong/tokenbalance 查看token余额的项目
token排名 https://blockspur.com/ethereum_contracts/transactions
how-to-get-every-contract-in-ethereum https://medium.com/@xeenych/how-to-get-every-contract-in-ethereum-c5b97f230e9
获取tokens所有持有人地址