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 AccountCreateTest() { const string name = "userlogin"; var op = new AccountCreateOperation { Fee = new Asset(3000, 3, "GBG"), Creator = User.Login, NewAccountName = User.Login, JsonMetadata = "" }; var privateKey = Secp256K1Manager.GenerateRandomKey(); var privateWif = "12345678"; //"P" + Base58.EncodePrivateWif(privateKey); var subWif = Base58.GetSubWif(name, privateWif, "owner"); Console.WriteLine(subWif); var pk = Base58.DecodePrivateWif(subWif); var subPublicKey = Secp256K1Manager.GetPublicKey(pk, true); Console.WriteLine(Base58.EncodePublicWif(subPublicKey, Config.KeyPrefix)); op.Owner.KeyAuths.Add(new KeyValuePair <PublicKeyType, ushort>(new PublicKeyType(subPublicKey), 1)); subWif = Base58.GetSubWif(name, privateWif, "active"); Console.WriteLine(subWif); pk = Base58.DecodePrivateWif(subWif); subPublicKey = Secp256K1Manager.GetPublicKey(pk, true); Console.WriteLine(Base58.EncodePublicWif(subPublicKey, Config.KeyPrefix)); op.Active.KeyAuths.Add(new KeyValuePair <PublicKeyType, ushort>(new PublicKeyType(subPublicKey), 1)); subWif = Base58.GetSubWif(name, privateWif, "posting"); Console.WriteLine(subWif); pk = Base58.DecodePrivateWif(subWif); subPublicKey = Secp256K1Manager.GetPublicKey(pk, true); Console.WriteLine(Base58.EncodePublicWif(subPublicKey, Config.KeyPrefix)); op.Posting.KeyAuths.Add(new KeyValuePair <PublicKeyType, ushort>(new PublicKeyType(subPublicKey), 1)); subWif = Base58.GetSubWif(name, privateWif, "memo"); Console.WriteLine(subWif); pk = Base58.DecodePrivateWif(subWif); subPublicKey = Secp256K1Manager.GetPublicKey(pk, true); Console.WriteLine(Base58.EncodePublicWif(subPublicKey, Config.KeyPrefix)); op.MemoKey = new PublicKeyType(subPublicKey); 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); }
public async Task AccountCreateTest() { var name = "userlogin"; var op = new AccountCreateOperation { Fee = new Asset(3000, Config.SteemAssetNumSteem), Creator = User.Login, NewAccountName = User.Login, JsonMetadata = "", }; var privateKey = Secp256K1Manager.GenerateRandomKey(); var privateWif = "P" + Base58.EncodePrivateWif(privateKey); var subWif = Base58.GetSubWif(name, privateWif, "owner"); var pk = Base58.DecodePrivateWif(subWif); var subPublicKey = Secp256K1Manager.GetPublicKey(pk, true); op.Owner.KeyAuths.Add(new KeyValuePair <PublicKeyType, ushort>(new PublicKeyType(subPublicKey), 1)); subWif = Base58.GetSubWif(name, privateWif, "active"); pk = Base58.DecodePrivateWif(subWif); subPublicKey = Secp256K1Manager.GetPublicKey(pk, true); op.Active.KeyAuths.Add(new KeyValuePair <PublicKeyType, ushort>(new PublicKeyType(subPublicKey), 1)); subWif = Base58.GetSubWif(name, privateWif, "posting"); pk = Base58.DecodePrivateWif(subWif); subPublicKey = Secp256K1Manager.GetPublicKey(pk, true); op.Posting.KeyAuths.Add(new KeyValuePair <PublicKeyType, ushort>(new PublicKeyType(subPublicKey), 1)); subWif = Base58.GetSubWif(name, privateWif, "memo"); pk = Base58.DecodePrivateWif(subWif); subPublicKey = Secp256K1Manager.GetPublicKey(pk, true); op.MemoKey = new PublicKeyType(subPublicKey); var response = Post(User.ActiveKeys, false, op); Assert.IsFalse(response.IsError, response.GetErrorMessage()); }
public async Task AccountCreateTest() { string name = User.Login + DateTime.Now.Ticks; var op = new AccountCreateOperation { Fee = new Asset(3000, Config.SteemAssetNumSteem), Creator = User.Login, NewAccountName = User.Login, JsonMetadata = "" }; var privateKey = Secp256K1Manager.GenerateRandomKey(); var privateWif = "P" + Base58.EncodePrivateWif(privateKey); var subWif = Base58.GetSubWif(name, privateWif, "owner"); var pk = Base58.DecodePrivateWif(subWif); var subPublicKey = Secp256K1Manager.GetPublicKey(pk, true); op.Owner.KeyAuths.Add(new KeyValuePair <PublicKeyType, ushort>(new PublicKeyType(subPublicKey), 1)); subWif = Base58.GetSubWif(name, privateWif, "active"); pk = Base58.DecodePrivateWif(subWif); subPublicKey = Secp256K1Manager.GetPublicKey(pk, true); op.Active.KeyAuths.Add(new KeyValuePair <PublicKeyType, ushort>(new PublicKeyType(subPublicKey), 1)); subWif = Base58.GetSubWif(name, privateWif, "posting"); pk = Base58.DecodePrivateWif(subWif); subPublicKey = Secp256K1Manager.GetPublicKey(pk, true); op.Posting.KeyAuths.Add(new KeyValuePair <PublicKeyType, ushort>(new PublicKeyType(subPublicKey), 1)); subWif = Base58.GetSubWif(name, privateWif, "memo"); pk = Base58.DecodePrivateWif(subWif); subPublicKey = Secp256K1Manager.GetPublicKey(pk, true); op.MemoKey = new PublicKeyType(subPublicKey); await Post(User.ActiveKeys, false, op).ConfigureAwait(false); }
public void AccountCreate() { buttonAccountCreate.interactable = false; IList <byte[]> YouPrivateKeys = new List <byte[]> { Ditch.Core.Base58.DecodePrivateWif("5JMCfREHnK4x5tPjruhEHJKX6wQDVBJFzikc1wxEBQ4iFTcHgMY") }; Debug.Log("PRIVATE KEY = " + Hex.ToString(privateKey)); var privateWif = Ditch.Core.Base58.EncodePrivateWif(privateKey); var subWif = Ditch.Core.Base58.GetSubWif(inputAccountName.text, privateWif, "active"); var pk = Ditch.Core.Base58.DecodePrivateWif(subWif); var activePubKey = Secp256K1Manager.GetPublicKey(pk, true); Debug.Log("ACTIVE PUB KEY = " + Hex.ToString(activePubKey)); subWif = Ditch.Core.Base58.GetSubWif(inputAccountName.text, privateWif, "owner"); pk = Ditch.Core.Base58.DecodePrivateWif(subWif); var ownerPubKey = Secp256K1Manager.GetPublicKey(pk, true); Debug.Log("OWNER PUB KEY = " + Hex.ToString(ownerPubKey)); var accountCreateOp = new AccountCreateOperation { Fee = new Asset() { Amount = 0, AssetId = new AssetIdType(1, 3, 0) }, Registrar = new ObjectId(1, 2, 22765), Referrer = new ObjectId(1, 2, 22765), ReferrerPercent = 7000, Name = inputAccountName.text, Owner = new Authority(new PublicKeyType(ownerPubKey)), Active = new Authority(new PublicKeyType(activePubKey)), Options = new AccountOptions() { MemoKey = new PublicKeyType(activePubKey), VotingAccount = new AccountIdType(1, 2, 5), }, }; var responce = _operationManager.BroadcastOperations(YouPrivateKeys, CancellationToken.None, accountCreateOp); GeneratePassword(); panelInfo.SetActive(true); if (responce.IsError) { textPanelInfo.text = responce.GetErrorMessage(); } else { textPanelInfo.text = errors[8]; } //Debug.Log("RESULT = " + responce.Result); //Debug.Log("ERROR = " + responce.GetErrorMessage()); }
public AccountTable(long blockNum, short trxNum, short opNum, DateTime timestamp, AccountCreateOperation operation) : base(blockNum, trxNum, opNum, timestamp) { Login = operation.NewAccountName; JsonData = operation.JsonMetadata; }