private static string getAddrFromScriptHash(string scripitHash) { if (scripitHash != string.Empty) { return(ZoroHelper.GetAddressFromScriptHash(Helper.HexString2Bytes(scripitHash))); } else { return(string.Empty); } //ICO mintToken 等情况 }
public static async Task <NEP5.AssetBalanceOfAddr> getNativeBalanceOfAsync(string chainHash, string assetid, string address) { NEP5.AssetBalanceOfAddr addr = new NEP5.AssetBalanceOfAddr(assetid, "", ""); using (ScriptBuilder sb = new ScriptBuilder()) { sb.EmitSysCall("Zoro.NativeNEP5.Call", "BalanceOf", UInt160.Parse(assetid), ZoroHelper.GetPublicKeyHashFromAddress(address)); sb.EmitSysCall("Zoro.NativeNEP5.Call", "Decimals", UInt160.Parse(assetid)); sb.EmitSysCall("Zoro.NativeNEP5.Call", "Symbol", UInt160.Parse(assetid)); var info = await ZoroHelper.InvokeScript(sb.ToArray(), chainHash); var value = GetBalanceFromJson(info); addr.balance = value["balance"].ToString(); addr.symbol = value["symbol"].ToString(); return(addr); } }