Просто чтобы устранить путаницу в отношении того, что делает код, он принимает класс Object (класс с плавающей точкой и числами), записывает в файл (используя двоичное форматирование) и использует реализацию IPFS.Net для записи. файл в сеть. Создание файла - это нормально, но при сохранении файла код зависает на неопределенный срок в Unity. Код ниже:
public static class IPFS_IO
{
public static void AddObject(Object obs)
{
string path = Application.persistentDataPath + "/data.bytes";
if (File.Exists(path))
{
File.Delete(path);
}
FileStream stream = File.Create(path);
BinaryFormatter formatter = new BinaryFormatter();
formatter.Serialize(stream, obs);
stream.Close();
Task<Ipfs.IFileSystemNode> taskA = AddObjectSaveHash(path);
taskA.Wait();
//string hashpath = Application.persistentDataPath + "/hash.txt";
//StreamWriter writer = new StreamWriter(hashpath);
//writer.Write(hash);
//writer.Close();
}
async static Task<Ipfs.IFileSystemNode> AddObjectSaveHash(string path)
{
Batteries.Init();
using (var ie = new IpfsEngine("".ToCharArray()))
{
return await ie.FileSystem.AddFileAsync(path)
.ConfigureAwait(false);
}
}
Это обычный тупик или слишком много данных поступает в сеть? Принимая во внимание:
a) Это реализация C # для использования в игровом движке Unity
b) Я использую реализацию Ричарда Шнайдера (github: https://github.com/richardschneider/net-ipfs-engine)
Спасибо за любую помощь или проблемы, которые вы, ребята, можете заметить.