美文网首页Unity技术分享EthETH开发系列
以太坊:创建ETH钱包(unity客户端项目)

以太坊:创建ETH钱包(unity客户端项目)

作者: 風华绝世 | 来源:发表于2018-05-16 20:23 被阅读7次

    查了很多资料 , 整理了点关于钱包的东西 

    首先 : 下载这个   


    然后在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 

    相关文章

      网友评论

      • TOP_DAPP:错误提示是在Start函数里面的CreateAccount("strongPassWord",(address,encryptedJson)=>{StartCoroutine(getAccountBalance(address,(balance)=>{PlayerPrefs.SetString("address",address);}))});委托“Action”未采用2个参数。所有代码都是直接用的你写的,能加您微信吗?这里面截不了图
        風华绝世:CreateAccount("strong_password", (address, encryptedJson) => {
        Debug.Log(address);
        Debug.Log(encryptedJson);
        });
        風华绝世:!!! 感谢大佬的打赏 :blush:
        風华绝世:把你邮箱留下 我晚上写一份能跑起来的发给你 现在在上班 有点忙 晚上发给你
      • TOP_DAPP:callback提示错误什么意思?
        風华绝世:截个图看下
        風华绝世:什么错误?

      本文标题:以太坊:创建ETH钱包(unity客户端项目)

      本文链接:https://www.haomeiwen.com/subject/cbusxxtx.html