查了很多资料 , 整理了点关于钱包的东西
首先 : 下载这个
然后在unity里面导入 , 我的系统是Mac , 代码编译器是Mac版的VS,下面所有的截图都出自Mac的unity (如果导入不进来或者导入了有问题的请换个unity版本 , 我的是2017.4.1f1 , 下面的代码如果有问题请重装unity, 我尝试过很多次 , 没有出现过问题)
把压缩包里面的文件全部导入到unity里面
然后创建一个脚本 , 挂到相机上 , 把下面的代码写到脚本里面 (脚本是C#写的)
首先导入命名空间
using Nethereum.JsonRpc.UnityClient;
然后把下面两个方法放到代码里面 代码拷过来很乱 , 但是能用 :
public static IEnumerator getAccountBalance(string address, System.Action callback) { var getBalanceRequest = new EthGetBalanceUnityRequest("https://kovan.infura.io"); yield return getBalanceRequest.SendRequest(address, Nethereum.RPC.Eth.DTOs.BlockParameter.CreateLatest()); if (getBalanceRequest.Exception == null) { var balance = getBalanceRequest.Result.Value; callback(Nethereum.Util.UnitConversion.Convert.FromWei(balance, 18)); } else { throw new System.InvalidOperationException("Get balance request failed"); } } public void CreateAccount(string password, System.Action callback) { var ecKey = Nethereum.Signer.EthECKey.GenerateKey(); var address = ecKey.GetPublicAddress(); var privateKey = ecKey.GetPrivateKeyAsBytes(); //私钥 var PrivateKey = ecKey.GetPrivateKey(); Debug.Log("地址_ " + address); Debug.Log("私钥_ " + PrivateKey); var keystoreservice = new Nethereum.KeyStore.KeyStoreService(); var encryptedJson = keystoreservice.EncryptAndGenerateDefaultKeyStoreAsJson(password, privateKey, address); callback(address, encryptedJson); }
上面的直接粘贴到脚本里面就行了 , 上面这两个方法第一个是查询余额的 , 第二个是创建钱包地址
在Start方法里面写下面这段来调用那两个方法就行了 : CreateAccount("strongPassWord", (address, encryptedJson) => { StartCoroutine(getAccountBalance(address, (balance) => { //查询余额 PlayerPrefs.SetString("address", address); })); });
strongPassWord是密码 随便弄个就行 , 主要的是地址和私钥一定要记住 .
另外说下 :这个仅供参考 - - ! 这些只是写给想做客户端的大佬参考的
我的ETH地址 : 0x6086faD718b218f92a05237Cb76850bE5Ea95cd9
2018年05月16日20:32:06
网友评论
Debug.Log(address);
Debug.Log(encryptedJson);
});