In a barter based economic system, there are generally two quite difficult problems to solve. These problems are generally known as something along the lines of "coincidence of wants" and "store of value".
Coincidence of wants is the n^2 problem. Briefly, in a barter economy there are O(n^2) exchange rates where n is the number of goods in the economy. If one of those goods is used as money (everything is traded into and out of that good), the number of exchange rates drops to O(n). This tends to reduce the problem of market thinness where markets function poorly due to a lack of participants.
Store of value is just that - people generally want to store the "value" of the stuff they create, both through time and space. It is difficult for a dairy farmer to sell 1000 gallons of milk a year from now, across the country. It is much easier to sell the milk locally and travel across the country at the appropriate time and to the appropriate place with cash in hand.
To solve both of these problems, money should generally be small, durable, value dense (both in terms of volume and weight) and resistant to inflation.