@ws02344591,
你的问题在AGS 101常见问题中有专门阐述,见
http://www1.agsexplorer.com/ags101。
产生疑惑的原因应该是对比特币的找零机制不了解(PTS客户端从比特币源码基础上修改而来,所以也沿袭了找零机制)。你的钱包中包括很多的地址,实际上在你安装好客户端时,默认已经生成了100个地址,虽然你只看到一个,以后你每次主动生成一个新地址,就从这个池子中拿一个出来给你用,当100个用完之后,再生成新的地址。
当你进行一次转账时,假设从主地址A(含有10BTC)转账1BTC给地址B。,过程如下:
1. 从A地址中扣除(销毁所有10BTC)
2. 在目的地地址B中增加1BTC
3. 在你的钱包中创建一个新地址(找零地址),创建9BTC
也就是说,每次转账后,原地址中余额就为零了,剩下的钱进入了新的地址,在你的钱包中看到的整体钱包余额还是9BTC,但是实际归属的地址已经发生变化了。设计这样机制的原因是增加匿名性。
这样你就可以理解为什么每次转账出去,转出的地址都是不一样的。
agsexplorer.com 监测BTC和PTS公共区块链上的已发生确认的交易数据,并根据那些信息进行AGS权益计算。所以,如果你发生多次捐赠,分别从A,B,C地址上发出,那么这3个地址相应会授予对应的AGS数量。将来在BTS创世快创建时,会将这些信息固化进去。你在兑现AGS权益时,需要导入A,B,C地址所在的钱包,即可实现批量导入(3I已有悬赏进行该功能的开发)。
目前的问题只是查询比较麻烦,因为但从区块链上无从确认A,B,C3个地址归属同一钱包,尽管B是A的输出之一,C是B的输出之一。agsexplorer.com仅确认当两个地址同为输入时,可以认同所属钱包一致。例如:
发出一笔捐赠1BTC到目的地地址ANGEL,钱包中余额1.2BTC,其中A地址有0.7BTC,B地址有0.5BTC。那么这时交易的构成可能如下:
输入
A 0.7BTC
B 0.3BTC
输出
ANGEL 1BTC
C 0.2BTC (C为你钱包中新生成的找零地址)
交易完成后,钱包余额0.2BTC,存于C地址中,A,B地址中余额为0。
在这种情况下,会认可A,B同属一个钱包,在查询A地址,或者B地址时,他们的捐赠会被合并显示。
例如
http://www1.agsexplorer.com/balances/PqPZ5WTBEzvzogPuQ7JULLTHNTC5hhPJm8