public async Task AccountCreateOperationTest() { var name = $"ditch-test-user-{DateTime.Now.Ticks}"; WriteLine($"name: {name}"); var key = Secp256K1Manager.GenerateRandomKey(); var pwif = "P" + Base58.EncodePrivateWif(key); WriteLine($"pwif: {pwif}"); var user = User; var userId = user.Account.Id; var op = new AccountCreateOperation { Fee = new Asset { Amount = 500000, AssetId = new AssetIdType(1, 3, 0) }, Registrar = userId, Referrer = userId, ReferrerPercent = 10000, Name = name, Options = new AccountOptions { VotingAccount = new AccountIdType(1, 2, 5) } }; var subWif = Base58.GetSubWif(name, pwif, "owner"); WriteLine($"owner: {subWif}"); var pk = Base58.DecodePrivateWif(subWif); var subPublicKey = Secp256K1Manager.GetPublicKey(pk, true); op.Owner = new Authority(new PublicKeyType(subPublicKey, SbdSymbol)); subWif = Base58.GetSubWif(name, pwif, "active"); WriteLine($"active: {subWif}"); pk = Base58.DecodePrivateWif(subWif); subPublicKey = Secp256K1Manager.GetPublicKey(pk, true); op.Active = new Authority(new PublicKeyType(subPublicKey, SbdSymbol)); subWif = Base58.GetSubWif(name, pwif, "memo"); WriteLine($"memo: {subWif}"); pk = Base58.DecodePrivateWif(subWif); subPublicKey = Secp256K1Manager.GetPublicKey(pk, true); op.Options.MemoKey = new PublicKeyType(subPublicKey, SbdSymbol); await Post(user.ActiveKeys, false, op).ConfigureAwait(false); }
public async Task AccountCreateOperationTestAsync() { var name = "userlogin"; var key = Secp256K1Manager.GenerateRandomKey(); var pwif = "P" + Base58.EncodePrivateWif(key); var user = User.Account.Id; var op = new AccountCreateOperation { Fee = new Asset { Amount = 100000, AssetId = new AssetIdType(1, 3, 0) }, Registrar = user, Referrer = user, ReferrerPercent = 10000, Name = name, Options = new AccountOptions { VotingAccount = new AccountIdType(1, 2, 5) } }; var subWif = Base58.GetSubWif(name, pwif, "owner"); var pk = Base58.DecodePrivateWif(subWif); var subPublicKey = Secp256K1Manager.GetPublicKey(pk, true); op.Owner = new Authority(new PublicKeyType(subPublicKey, "TEST")); subWif = Base58.GetSubWif(name, pwif, "active"); pk = Base58.DecodePrivateWif(subWif); subPublicKey = Secp256K1Manager.GetPublicKey(pk, true); op.Active = new Authority(new PublicKeyType(subPublicKey, "TEST")); subWif = Base58.GetSubWif(name, pwif, "memo"); pk = Base58.DecodePrivateWif(subWif); subPublicKey = Secp256K1Manager.GetPublicKey(pk, true); op.Options.MemoKey = new PublicKeyType(subPublicKey, "TEST"); await Post(User.ActiveKeys, false, op); }