Skip to content
This repository was archived by the owner on Feb 26, 2021. It is now read-only.

Commit 9cc98ab

Browse files
author
domschiener
committed
Fixed Replay Bug + Improved FAQ
1 parent 7cfad13 commit 9cc98ab

File tree

2 files changed

+22
-19
lines changed

2 files changed

+22
-19
lines changed

ui/index.html

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ <h1>History<span></span></h1>
103103
<li data-type="transfers" class="active">Transfers</li>
104104
<li data-type="addresses">Addresses</li>
105105
</ul>
106-
<div class="content">
106+
<div class="content">
107107
<div class="transfers list">
108108
<p>No transfers found.</p>
109109
<ul></ul>
@@ -174,19 +174,19 @@ <h2>Help</h2>
174174
<h3>FAQs</h3>
175175
<dl class="faq">
176176
<dt>Creating a New Account</dt>
177-
<dd>Creating a new account is as easy as generating a new, unique seed (consisting of 81 characters, only uppercase latin letters and the number 9 is allowed). You do not need to make your seed 81-chars long, but that is suggested. If you already generated a seed before you can enter it and access your account directly.<br /><br />Your seed is your private key that is used to access your account, and thus your IOTA tokens. Do not share it with anyone and keep it stored safely somewhere where nobody else but you can access it. If you have forgotten your seed, you will lose access to your IOTA tokens. You can generate a seed via Tools &raquo; Generate Seed.</dd>
178-
<dt>Neighbor Nodes</dt>
179-
<dd>The first thing you should do after installation is adding more neighbor nodes. Only 1 is added by default. You should get between 7-9 to be able to sync to the network. To find nodes, sign up to our <a href="https://slack.iotatoken.com" target="_blank" rel="noopener noreferrer">chat</a>, then join the #nodesharing channel and ask for node IP's. You can add the nodes to your app via Tools &raquo; Edit Server Configuration.</dd>
177+
<dd>Creating a new account is as easy as generating a new, unique seed (consisting of 81 characters, only uppercase latin letters and the number 9 is allowed). You do not need to make your seed 81-chars long, but that is suggested. If you already generated a seed before you can enter it and access your account directly.<br /><br />Your seed is your password that is used to access your account, and thus your IOTA tokens. Do not share it with anyone and keep it stored safely somewhere where nobody else but you can access it. If you have forgotten your seed, you will lose access to your IOTA tokens. You can generate a seed via Tools &raquo; Generate Seed.</dd>
178+
<dt>When can I make another transfer?</dt>
179+
<dd>In order to prevent double-spending, you should only make a new transfer after all of your previous value transfers have been confirmed. IOTA deterministically chooses inputs for new transfers, so you have to get your previous transactions confirmed in order to successfully make a new transfer without doublespending the inputs.</dd>
180180
<dt>Tangle Not Solid</dt>
181-
<dd>If you get this error when trying to send Iota's or generating addresses, it means you are not yet in sync. If you've just installed the app, you may want to wait some time for the network to be in sync. To check sync status, go to View &raquo; Status Bar. In the status bar, you'll see: xx / yyyy (zz). Compare this to the output of the channel #botbox in our <a href="https://slack.iotatoken.com" target="_blank" rel="noopener noreferrer">chat</a>.<br /><br />If you can't catch up to the network after some time, you may have to find new neighbor IP's to use instead.</dd>
181+
<dd>If you get this error when trying to send IOTAs or generating addresses, it means you are not yet in sync. If you've just installed the app, you may want to wait some time for the network to be in sync. To check sync status, go to View &raquo; Status Bar. In the status bar, you'll see: xx / yyyy (zz). Compare this to the output of the channel #botbox in our <a href="https://slack.iotatoken.com" target="_blank" rel="noopener noreferrer">chat</a>.<br /><br />If you can't catch up to the network after some time, you can find a download-able Tangle on the Forum.</dd>
182182
<dt>What is the difference between i, Ki, Mi, Gi, Ti and Pi?</dt>
183183
<dd>IOTA uses the 'International System of Units' or 'SI'. You are probably already familiar with this denomination from the world of computer storage (Kilobyte, Megabyte, Gigabyte etc.) IOTA follows the same system with Kilo-iotas (Ki) starting at 1'000 up to 1'000'000 where Mega-iotas (Mi) take over, then it's Giga (Gi), Tera (Ti) and finally Peta (Pi). This means that when you set the 'send field' to Ki you will be sending the amount you enter times thousand.</dd>
184184
<dt>How long should a transaction take?</dt>
185-
<dd>When sending an iota transaction your CPU carries out an amount of Proof-of-Work to secure the Tangle network, this means that the time it takes to carry out a transaction depends on the power of your processor. Expect between 10-100 seconds.</dd>
185+
<dd>When sending an iota transaction your CPU carries out an amount of Proof-of-Work to secure the Tangle network, this means that the time it takes to carry out a transaction depends on the power of your processor. Expect between 1 - 25 minutes.</dd>
186186
<dt>How long should address generation take?</dt>
187-
<dd>The address generation itself is done instantly, but in order to save the address in the Tangle your processor has to carry out some Proof-of-Work, depending on what kind of processor you have this can take anywhere from 5-30 seconds.</dd>
187+
<dd>The address generation itself is done instantly, but in order to save the address in the Tangle, you have to carry out some Proof-of-Work, depending on what kind of CPU you have this can take anywhere from 1 - 15 minutes.</dd>
188188
<dt>Can I reuse addresses?</dt>
189-
<dd>You can reuse an address to receive iotas, but after you send an outgoing transaction you should change because IOTA uses Winternitz one-time signatures which degrade security exponentially after each reuse.</dd>
189+
<dd>You can use an address for receiving as long as you have not used it for any outgoing transaction. What this means is that once you have sent a transaction with a specific address as input, you should never use it again. This is because IOTA uses Winternitz one-time signatures which degrade security exponentially after each reuse.</dd>
190190
<dt>How long and complex should my seed be?</dt>
191191
<dd>In order to ensure that only you got access to your iotas you ought to create a sufficiently complex seed. This means a randomized 81 character seed consisting of latin letters and the number 9.</dd>
192192
</dl>
@@ -218,4 +218,4 @@ <h2>Terms &amp; Agreements</h2>
218218
<div id="overlay"></div>
219219

220220
</body>
221-
</html>
221+
</html>

ui/js/server.js

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,8 @@ var Server = (function(Server, $, undefined) {
6363
var time = 10000; // 10 seconds
6464
}
6565

66-
var options = {type : "POST",
67-
url : "http://localhost:14265",
66+
var options = {type : "POST",
67+
url : "http://localhost:14265",
6868
data : JSON.stringify(params),
6969
timeout : time};
7070

@@ -78,7 +78,7 @@ var Server = (function(Server, $, undefined) {
7878
if (isPow && connection.inApp) {
7979
powStarted();
8080
}
81-
81+
8282
if (command != "getNodeInfo") {
8383
// Log to console, hide the seed
8484
if (params.seed && Object && Object.assign) {
@@ -180,7 +180,7 @@ var Server = (function(Server, $, undefined) {
180180
return deferred.promise();
181181
}
182182

183-
// The state is updated every minute.
183+
// The state is updated every minute.
184184
Server.updateState = function() {
185185
var deferred = $.Deferred();
186186

@@ -281,7 +281,7 @@ var Server = (function(Server, $, undefined) {
281281
console.log("Server.getTransactionsToApprove: " + milestone);
282282
return Server.sendRequest("getTransactionsToApprove", {"milestone": milestone});
283283
}
284-
284+
285285
// Immediately returns a new address, does not do POW
286286
Server.getNewAddress = function(seed) {
287287
var deferred = $.Deferred();
@@ -290,7 +290,7 @@ var Server = (function(Server, $, undefined) {
290290
seed = userSeed;
291291
}
292292

293-
Server.sendRequest("getNewAddress", {"seed" : seed,
293+
Server.sendRequest("getNewAddress", {"seed" : seed,
294294
"securityLevel" : 1}).done(function(result) {
295295
if (!result.address || !Address.isAddress(result.address)) {
296296
console.log("Server.getNewAddress: Invalid address: " + result.address);
@@ -524,7 +524,10 @@ var Server = (function(Server, $, undefined) {
524524
deferred.notify("Getting Trytes...");
525525

526526
Server.getTrytesFromBundle(transaction).done(function(trytes) {
527-
Server.attachStoreAndBroadcast(trytes).progress(function(msg) {
527+
528+
var reversedTrytes = trytes.reverse();
529+
530+
Server.attachStoreAndBroadcast(reversedTrytes).progress(function(msg) {
528531
if (msg) {
529532
deferred.notify(msg);
530533
}
@@ -617,7 +620,7 @@ var Server = (function(Server, $, undefined) {
617620
seed = userSeed;
618621
}
619622

620-
Server.sendRequest("getTransfers", {"seed" : seed,
623+
Server.sendRequest("getTransfers", {"seed" : seed,
621624
"securityLevel" : 1}).done(function(result) {
622625
console.log("Server.getTransfers: " + result.transfers.length + " transactions");
623626
deferred.resolve(result.transfers.reverse());
@@ -731,7 +734,7 @@ var Server = (function(Server, $, undefined) {
731734
} else {
732735
milestoneIndex--;
733736
}
734-
});
737+
});
735738
}, function(err, isException) {
736739
console.log(err);
737740
if (isException) {
@@ -792,4 +795,4 @@ var Server = (function(Server, $, undefined) {
792795
}
793796

794797
return Server;
795-
}(Server || {}, jQuery));
798+
}(Server || {}, jQuery));

0 commit comments

Comments
 (0)